投稿

[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 の下でライセンスされています。