64. 64
Python機械学習プログラミング
In [9]: result = DataFrame()
for c in range(3):
y = 0
t = []
for delta in np.random.normal(loc=0.0, scale=1.0, size=100):
y += delta
t.append(y)
result['Trial %d' % c] = t
result.head()
Out[9]:
In [10]: result.plot(title='Random walk')
データフレームによるグラフの描画
■
DataFrameオブジェクトは自分自身のグラフを描く機能を持っています。
- 次のようにplot()メソッドを用いると、列ごとのデータをまとめてグラフに表示することができ
ます。
※ plot()メソッドの詳細は下記を参照
http://pandas.pydata.org/pandas-docs/version/0.17.0/visualization.html
70. 70
Python機械学習プログラミング
係数の決定
■
最小二乗法の公式を用いて、多項式の係数を計算します。
- 次の関数では、決定された多項式 と係数 を返しています。
In[7] : def resolve(dataset, m):
t = dataset.y
phi = DataFrame()
for i in range(0,m+1):
p = dataset.x**i
p.name="x**%d" % i
phi = pd.concat([phi,p], axis=1)
tmp = np.linalg.inv(np.dot(phi.T, phi))
ws = np.dot(np.dot(tmp, phi.T), t)
def f(x):
y = 0
for i, w in enumerate(ws):
y += w * (x ** i)
return y
return (f, ws)