“ TypeError:'numpy.ndarray'对象不可调用”-numpy错误

问题描述 投票:0回答:1

这是我的代码。

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)

但是当我从内置的“ cost”函数中调用函数“ h”时。假设= h(x,theta)我收到错误消息:

TypeError: 'numpy.ndarray' object is not callable

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

请让我做错什么?

python python-3.x numpy matrix-multiplication
1个回答
0
投票

我已经解决了这个问题,我只是说这句话

© www.soinside.com 2019 - 2024. All rights reserved.