
24
1
章
Python
ではじめる機械学習
タを用いた学習を行っていないため、「学習モデルが新しいデータについてどう振る舞うか」といった、
より現実的な視点で評価できます。
変化点以降(3.5週以降)のデータを使用して学習したモデルに対して、テストデータを用いて誤差
を計算します。
frac = 0.3 #
テストに用いるデータの割合
split_idx = int(frac * len(xb))
#
全データの
30%
をランダムに選び出す
shuffled = sp.random.permutation(list(range(len(xb))))
test = sorted(shuffled[:split_idx]) #
テスト用のデータインデックス配列
train = sorted(shuffled[split_idx:]) #
訓練用のデータインデックス配列
#
それぞれ訓練データを用いて訓練を行う
fbt1 = sp.poly1d(sp.polyfit(xb[train], yb[train], 1))
fbt2 = sp.poly1d(sp.polyfit(xb[train], yb[train], 2))
fbt3 = sp.poly1d(sp.polyfit(xb[train], yb[train], 3))
fbt10 = sp.poly1d(sp.polyfit(xb[train], yb[train], 10))
fbt100 = sp.poly1d(sp.polyfit(xb[train], ...