2016-11-07 21 views
0

私は、データサイエンスでPythonプログラミングを少し新しくしました。 Xは行列97x2要素、シータは3x1要素ベクトル、yは97X2ベクトル m =長さy = 97 以下はPythonのアルゴリズムですが、どこに間違いがあるのか​​分かりません。Pythonの行列操作でエラーが発生しました

私は、賢明な乗算を要素化し、それらを合計して1つのスカラー値J(コスト関数)を得る必要があります。しかし、私は97要素の配列を取得しています

+1

python 2またはpython 3? –

答えて

0

まず第一に、これは提供された寸法では動作しません。 np.dot(A, B)では、AとBが1つの次元で一致する必要があり、あなたのものは97x2と3x1なので、意味がありません。おそらく、あなたが実装しようとしているアルゴリズムは、(通常の線形回帰のように)1からXの列を連結する必要があります。あなたが使用するすべての2番目の部門の2番目の整数部は1/2 *のようなものを行うときに0を表示する原因となるpython 2でです。実際には0 *に相当します。変数を浮動小数点数にキャストするだけで、

J = (0.5*m)*sum(np.square(np.dot(X, theta) - y))) 
関連する問題