スケーリングしたデータでのKNN
スケーリングしていない wine データセットでの正解率はまずまずでしたが、標準化を使うとどこまで改善できるか試してみましょう。今回も、knn モデルと、特徴量 X と目的変数 y はすでに用意されています。
この演習はコースの一部です
Pythonで学ぶMachine Learningの前処理
演習の手順
StandardScaler()を作成し、scalerという変数に保存します。- データリークを起こさないよう注意して、学習用およびテスト用の特徴量をスケーリングします。
- スケーリングした学習用データに
knnモデルを適合させます。 - テストセットの正解率を計算して、モデルの性能を評価します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y, random_state=42)
# Instantiate a StandardScaler
scaler = ____
# Scale the training and test features
X_train_scaled = ____.____(____)
X_test_scaled = ____.____(____)
# Fit the k-nearest neighbors model to the training data
____.____(____, ____)
# Score the model on the test data
print(____.____(____, ____))