0
私は機械学習でコルセラコースを受講しています。私は最初の週コスト関数をPythonに変換しようとしています。numpy - 費用関数を計算しようとしたときに形状エラーが発生しました
import numpy as np
def computeCost(X, y, theta):
inner = np.power(((X.dot(theta)) - y), 2)
return np.sum(inner)/(2 * len(X))
これは最初から機能します。しかし、私が3D空間にプロットしようとすると、コストはそれ以上は働かないように見えます。
私はしかし、私は "328.0929"
を取得する必要があり、私は "30109.7923098" を取得し、この print(computeCost(X, y, [theta0_vals[0], theta1_vals[0]]))
を実行して、私はこの試みた:私は、寸法誤差を取得
inner = np.power(((X * (theta.T)) - y), 2)
return np.sum(inner)/(2 * len(X))
を。
私はこの試みた:ValueErrorを::形状(2,97)と(1,2)に整列していない:97(1薄暗い)= 1(0薄暗い)
!私はエラーを取得するm = len(y) #number of training examples
#X = np.array([np.ones(m), X]) #I did this beofre calling the function
X = X.transpose()
theta = theta.transpose()
c = np.dot(X, theta) #Matrix multiplication X*theta
c = c.transpose() - y
J = np.sum(c**2)/(2*m) #Calculating cost
return J
を
詳細情報が必要な場合はお知らせください。
のようにXとYの形状は何ですか? –
行列の寸法は一致しません。これを修正するために形状を変更してください。 – gurpinars