知っていることだけ

勉強していて役に立つ、理解の助けになるようなポイントを書いていきます。

アルゴリズムチェーンとパイプライン 「Pythonではじめる機械学習」まとめ

交差検証と処理タイミング

テストデータの情報を学習に用いてはならない。交差検証でも同じである。検証データの情報を学習に用いてはならない。つまり、データの前処理(PCAなど)も訓練データと検証データに分けてから行う必要がある。これらのタイミングを間違えないよう、Pipelineクラスが用意されている。

pipe = Pipeline([("scaler",MinMaxScaler()), ("svm", SVC())])
params = {'svm__C':[0.001,0.01,0.1,1,10,100],
'svm__gamma':[0.001,0.01,0.1,1,10,100]}
grid= GridSearchCV(pipe, params, cv=5)
grid.fit(x_train, y_train)
print(grid.score(x_test, y_test))

のように使う。