[Python 100日チャレンジ] Day 93 - データ前処理の基本
機械学習の前に必要な欠損値処理、スケーリング、カテゴリ変数のエンコードを学びます。
[Python 100日チャレンジ] Day 93 - データ前処理の基本
前処理が必要な理由
機械学習モデルは、きれいなデータを前提に動きます。欠損値、文字列カテゴリ、尺度の違いをそのまま入れると、学習が不安定になることがあります。
欠損値を処理する
1
2
df = df.dropna()
df["age"] = df["age"].fillna(df["age"].median())
欠損値は削除するか、平均値や中央値などで補完します。
スケーリング
1
2
3
4
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
特徴量の尺度をそろえると、モデルが学習しやすくなります。
カテゴリ変数
1
df = pd.get_dummies(df, columns=["city"])
文字列のカテゴリは、モデルが扱える数値に変換します。
今日のゴール
前処理は機械学習の精度と安定性に大きく影響します。欠損値、スケーリング、エンコードを基本セットとして覚えましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
