標準化を練習しましょう
未知の分布に対して、やみくもにKNNを使うのは危険です。特徴量の分布スケールがそろっていないと、性能が大きく低下します。スケーリングしていない特徴量は距離計算をゆがめ、非現実的な外れ値スコアを返してしまいます。
これに対処する一般的な方法が標準化です。各特徴量から平均を引き、標準偏差で割ります。これにより、その特徴量の平均は0、分散は1になります。
すでに読み込まれているfemalesデータセットで標準化を練習しましょう。
この演習はコースの一部です
Anomaly Detection in Python
演習の手順
StandardScaler()のインスタンスを作成し、ssとして保存します。- 特徴量配列と目的変数配列をそれぞれ
Xとyに抽出します。目的変数はweightkg列です。 StandardScaler()をXに対して適合させ、同時に変換します。- 上記の処理を、
XのDataFrameの列名を保持する形でも繰り返します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from sklearn.preprocessing import StandardScaler
# Initialize a StandardScaler
ss = ____
# Extract feature and target arrays
X = ____
y = ____
# Fit/transform X
X_transformed = ____
# Fit/transform X but preserve the column names
X.____ = ____