Python 未对齐的形状:Scipy';s fmin_tnc函数
我试图自己解决第二个练习的第一部分(逻辑回归): 我在计算Python 未对齐的形状:Scipy';s fmin_tnc函数,python,numpy,logistic-regression,scipy-optimize,Python,Numpy,Logistic Regression,Scipy Optimize,我试图自己解决第二个练习的第一部分(逻辑回归): 我在计算结果变量时卡住了。这是错误消息的最后一部分: File "<ipython-input-51-39288db7a045>", line 55, in ComputeCost h=sigmoid(np.dot(X,theta)) File "<__array_function__ internals>", line 6, in dot ValueError: s
结果
变量时卡住了。这是错误消息的最后一部分:
File "<ipython-input-51-39288db7a045>", line 55, in ComputeCost
h=sigmoid(np.dot(X,theta))
File "<__array_function__ internals>", line 6, in dot
ValueError: shapes (3,) and (100,1) not aligned: 3 (dim 0) != 100 (dim 0)
我在本练习的解决方案中看到并理解了代码,但我想用我的版本来解决它,但我没有弄错
我尝试展平梯度函数(如这里所建议的)和“y”数组()的返回值,但没有成功
谢谢
编辑1:在定义ComputeCost
和Gradient
函数时,将theta
作为第一个参数后,fmin\u tnc
函数运行,但最小化失败
result=opt.fmin_tnc(ComputeCost, theta, Gradient, args=(X,y))
并返回:(数组([4.60628149e-05,5.53178320e-03,5.18798215e-03]),45,4)
。
所以rc(返回码)并不是应该的1
我还尝试运行
result=opt.minimize(ComputeCost,theta,method='TNC',jac=Gradient,args=(X,y))
检查问题是否在fmin\u TNC
函数中,但返回值相同。尝试在ComputeCost
和Gradient
的def
中将“theta”移到“X”和“y”之前
e、 g
def计算成本(θ,X,y):
#相应地调整代码中的参数
...
这是如何回答这个问题的?你能解释一下为什么会这样吗?仅仅告诉某人答案而不解释它为什么起作用或如何起作用是不够的。
result=opt.fmin_tnc(ComputeCost, theta, Gradient, args=(X,y))