"TypeError: 'numpy.ndarray' object is not callable " - 数字错误



这是我的代码。

def h(x, theta):                      # this is probability/hypotheses
return np.dot(x, theta)

def cost(x, y, theta):                    # this is cost function
m = x.shape[0]
hypothesis = h(x, theta)
error = hypothesis - y
return 1 / (2 * m) * (np.dot(error.T, error))    # (1/2m)*sum[(error)^2]

我有一个函数"h",它正在计算 2 个矩阵的点积。 并且它按预期工作。 我测试了它,这是输出

print("x.shape = ", x.shape)                         # x.shape =  (97, 2)
print("theta.shape =", theta.shape)                  # theta.shape = (2, 1)
print("my_hypothesis.shape =",  my_hypothesis.shape) # my_hypothesis.shape = (97, 1)

但是当我从内部"成本"函数调用函数"h"时。 假设 = h(x, theta( 我收到错误:

TypeError: 'numpy.ndarray' object is not callable

如果我用假设 = np.dot(x, theta( 替换线假设 = h(x, theta(,那么它工作正常。

请告诉我我做错了什么?

我已经解决了这个问题,我只是这个陈述

return (alpha * (1 / m) * (np.dot(error.T, x))).T

下面是工作代码的链接。

https://github.com/amitsuneja/MachineLeaning/blob/master/AndrewNG/Week2/Excercise01/Week2-LinearRegressionSingleVariable.py

相关内容

最新更新