多元回归:梯度下降定义错误

时间:2021-03-26 16:39:14

标签: python numpy machine-learning linear-regression gradient-descent

def gradientDescent(X, y, theta, alpha, i):
J = []  #cost function in each iterations
k = 0
while k < i:        
    y1 = hypothesis(theta, X)
    y1 = np.sum(y1, axis=1)
    for c in range(0, len(X.columns)):
        theta[c] = theta[c] - alpha*(sum((y1-y)*X.iloc[:,c])/len(X))
    j = computeCost(X, y, theta)
    J.append(j)
    k += 1
return J, j, theta
J, j, theta = gradientDescent(X, y, theta, 0.05, 10000)

如果我运行这段代码,会出现如下错误:

    Traceback (most recent call last)
<ipython-input-64-d17a8fb83984> in <module>()
----> 1 J, j, theta = gradientDescent(X, y, theta, 0.05, 10000)

<ipython-input-62-bfec0d0edcfa> in gradientDescent(X, y, theta, alpha, i)
      6         y1 = np.sum(y1, axis=1)
      7         for c in range(0, len(X.columns)):
----> 8             theta[c] = theta[c] - alpha*(sum((y1-y)*X.iloc[:,c])/len(X))
      9         j = computeCost(X, y, theta)
     10         J.append(j)

TypeError: 'numpy.int64' object is not callable

我希望立即有任何解决方案。谢谢。

0 个答案:

没有答案