numpy
を使用して最小自乗アルゴリズムを実行しようとしていますが、問題があります。誰かが私が与えられたコードで間違っていることを教えてもらえますか? yをy = np.power(X, 1) + np.random.rand(20)*3
またはxの他の妥当な関数に設定すると、すべて正常に動作しています。しかし、y値を与えられたその特定のyについて、私が得ているプロットは無意味です。yの集合のために最小の正方形が機能しない
これは何らかの数値的な問題ですか?
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
X = np.arange(1,21)
y = np.array([-0.00454712, -0.00457764, -0.0045166 , -0.00442505, -0.00427246,
-0.00411987, -0.00378418, -0.003479 , -0.00314331, -0.00259399,
-0.00213623, -0.00146484, -0.00082397, -0.00030518, 0.00027466,
0.00076294, 0.00146484, 0.00192261, 0.00247192, 0.00314331])
#y = np.power(X, 1) + np.random.rand(20)*3
w = np.linalg.lstsq(X.reshape(20, 1), y)[0]
plt.plot(X, y, 'red')
plt.plot(X, X*w[0], 'blue')
plt.show()
まあ、スタータの場合、あなたはおそらく 'X.dot、'([0]ワット) –
おかげで多くのことをしたいです。私はそれを試みたが、私は同じ結果を得ている。 –