ROS と RUS の組み合わせ
クラス分布をバランスさせるために、random over-sampling (ROS) と random under-sampling (RUS) を組み合わせることができます。ここでは、新しいデータセットが 10,000 件の取引を含み、そのうち 30% が不正取引になるように再バランスします。
必要に応じて、コンソールで ROSE を読み込み、?ovun.sample と入力すると、この関数が受け取る引数を確認できます。
この演習はコースの一部です
Rで学ぶ不正検知
演習の手順
ROSEパッケージを読み込みます。n_newを 10,000、fraud_fractionを 30% に設定します。- オーバーサンプリングとアンダーサンプリングの両方を使います。
- アンダーサンプリング後のデータセットのクラスバランスを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Load ROSE
___
# Specify the desired number of cases in the balanced dataset and the fraction of fraud cases
n_new <- ___
fraud_fraction <- ___
# Combine ROS & RUS!
sampling_result <- ___(___ = ___, ___ = ___,
___ = ___, ___ = ___, p = ___, seed = 2018)
# Verify the Class-balance of the re-balanced dataset
sampled_credit <- ___
prop.table(___(___))