2回目のオーバーサンプリングを排除するにはどうしたらいい

2024年6月17日

2回目のオーバーサンプリングを排除するには、データを分割する前に1回目のオーバーサンプリングを行うだけです。つまり、train_test_splitの前にSMOTEを適用することで、2回目のオーバーサンプリングを回避できます。

具体的には、以下の部分でtrain_test_splitの前にSMOTEを適用します。

python
# データの分割
X_train, X_test, y_train, y_test = train_test_split(X_resampled, y_resampled, test_size=0.3, random_state=42)

次のように修正します。

python
# オーバーサンプリングを行う
smote = SMOTE(random_state=42)
X_resampled, y_resampled = smote.fit_resample(X_combined, y)

# データの分割
X_train, X_test, y_train, y_test = train_test_split(X_resampled, y_resampled, test_size=0.3, random_state=42)

この修正により、2回目のオーバーサンプリングが排除され、1回目のオーバーサンプリングだけが適用されるようになります。

未分類

Posted by ぼっち