組み込み開発のためのPython · レッスン 134 / 220

特徴量のスケールをそろえる

標準化などのスケーリングは、距離や勾配に敏感なモデルを助けます。変換器は学習データだけでfitし、テストデータにはtransformだけを行います。

標準化などのスケーリングは、距離や勾配に敏感なモデルを助けます。変換器は学習データだけでfitし、テストデータにはtransformだけを行います。 仕組みだけでなく、検証方法と運用上の注意も具体例で確認します。

基本の考え方

標準化などのスケーリングは、距離や勾配に敏感なモデルを助けます。変換器は学習データだけでfitし、テストデータにはtransformだけを行います。

安全に試すための確認

例は学習用データを使うもので、品質を保証する予測器ではありません。実データの欠損、単位、偏り、データ漏えいを確認し、テスト用データを学習中に参照しないでください。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

model = make_pipeline(StandardScaler(), LogisticRegression()).fit([[1, 100], [2, 200], [3, 300], [4, 400]], [0, 0, 1, 1])
print(model.predict([[2.5, 250]]))

手を動かす課題

学習・テストを分割した後でスケーラーを学習し、テスト情報が変換へ漏れていないことを確認してください。

参考資料

「機械学習の基礎」の章一覧へ