SMOTE を適用する
この演習では、SMOTE(Synthetic Minority Over-sampling Technique)を使ってデータの不均衡を補正します。ROS と異なり、SMOTE は観測値の完全な複製を作るのではなく、少数クラスの既存の観測値にかなり近い新しい合成サンプルを生成します。そのため、SMOTE は単なる複製よりも少し高度な手法です。クレジットカードのデータに SMOTE を適用してみましょう。
データセット df は利用可能で、SMOTE に必要なパッケージはインポート済みです。続く演習では、結果を可視化して元のデータと比較し、SMOTE を適用した効果をはっきり確認します。
この演習はコースの一部です
Pythonで学ぶ不正検知
演習の手順
dfに対してprep_data関数を使い、特徴量Xとラベルyを作成します。- リサンプリング手法として、通常の SMOTE を使用し、変数
methodに定義します。 - 新しいリサンプリング済みデータを得るため、元の
Xとyに対して.fit_resample()を使用します。 plot_data()関数を使って、リサンプリング後のデータをプロットします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
from imblearn.over_sampling import SMOTE
# Run the prep_data function
X, y = ____(df)
# Define the resampling method
method = ____()
# Create the resampled feature set
X_resampled, y_resampled = method.____(____, ____)
# Plot the resampled data
plot_data(____, ____)