こんにちは!今日は、Scikit-LearnのSimpleImputer
とStandardScaler
を使ったデータの前処理について解説します。
SimpleImputerでの欠損値補間
まず、SimpleImputer
クラスを使って欠損値(NaN)を補間する方法について見ていきましょう。
from sklearn.impute import SimpleImputer
import numpy as np
import pandas as pd
# サンプルのデータフレームを作成
df = pd.DataFrame({
'A': [1, np.nan, 3, 4, 5],
'B': [np.nan, 2, 3, 4, 5],
'C': [1, 2, 3, np.nan, 5]
})
# SimpleImputerのインスタンスを作成
imputer = SimpleImputer(strategy='mean')
# 欠損値を補間
df_imputed = imputer.fit_transform(df)
これにより、欠損値がそれぞれの列の平均値で補間されます。
StandardScalerを使った特徴量スケーリング
次に、StandardScalerを使用して特徴量のスケーリングを行います。特徴量スケーリングは、各特徴量が平均0, 分散1となるようにデータを変換することです。これにより、様々な機械学習モデルのパフォーマンスが向上することがあります。
from sklearn.preprocessing import StandardScaler
# StandardScalerのインスタンスを作成
scaler = StandardScaler()
# 特徴量のスケーリングを行う
df_scaled = scaler.fit_transform(df_imputed)
以上のように、Scikit-LearnのSimpleImputerとStandardScalerを使うことで、データの前処理を簡単に行うことができます。
これらの手法を実際のデータに適用する際は、データの分析と理解を深めるために各ステップでのデータの変化を観察することを強く推奨します。データ科学者としてのスキルを向上させるためには、ツールを使うことだけでなく、その背後にあるプロセスを理解することが重要です。
以上、ご覧いただきありがとうございました!