我试图在python上制作一个高斯牛顿算法,我有一个我不明白的错误:
In [226]: df_test = pd.DataFrame(np.random.randn(5,5), columns=list('ABCDE'))
In [227]: df_test
Out[227]:
A B C D E
0 0.609775 0.205708 -0.015081 2.096414 0.121245
1 1.223234 -1.299398 1.238649 0.216846 -0.789828
2 0.446873 1.734404 -0.675568 -1.203400 0.053905
3 0.286693 -0.080294 -0.115739 -0.195039 0.400201
4 0.519230 1.939370 -0.424466 0.102137 -0.724420
In [228]: df_test.iloc[0,1] = False
In [229]: df_test.iloc[1,1] = '0'
In [230]: df_test.iloc[2,1] = 0
In [231]: df_test.iloc[3,1] = '2'
In [232]: df_test.B == False
Out[232]:
0 True
1 False
2 True
3 False
4 False
Name: B, dtype: bool
不确定为什么我的matricial产品不起作用...... 任何帮助表示赞赏。这是我的代码:
np.dot(-Jr(x0,n,t).T,r(x0,t,a,n))
ValueError: shapes (2,7) and (1,7) not aligned: 7 (dim 1) != 1 (dim 0)`
谢谢
答案 0 :(得分:0)
尝试使用
np.dot(-Jr(x0,n,t).T, r(x0,t,a,n).T)
这应解决尺寸问题,并产生形状为(2,1)的矩阵。