まれなイベントモデリングで示されているパフォーマンスの低下
-
16-10-2019 - |
質問
私はまれなイベント分類の問題に取り組んでいます。私はデータの95%を過半数クラスとして、データの5%を少数派クラスとして持っています。分類ツリーアルゴリズムを使用しています。混乱マトリックスを使用してモデルの良さを測定しています。
私は少数派クラスの合計データのわずか5%しかないため、少数派クラスの予測パフォーマンスは70%に近いにもかかわらず、エラーの総数は高いです。
たとえば、ここに私の混乱マトリックスがあります。 0 1 0 213812 7008 1 29083 16877
マイノリティクラス(クラス1)は16877倍正しく予測していますが(70%、誤分類はわずか30%ですが、誤分類の絶対値は非常に高い(29083)、正しく予測されたMinotriyクラス(16877)と比較して非常に高い(29083)。ソリューションはビジネスではあまり使用できません。
このようなまれなイベントモデリングで、この種の問題を処理することについてのアイデアはありますか?
種類の注:分類ツリーを適用する前に、Smoteアルゴリズムを使用してターゲット変数のバランスを取りました。
解決
RでCARETパッケージを使用してランダムフォレストを使用する場合は、次のブログ投稿で、不均衡なデータセットを使用してダウンサンプリングするためにこの方法を使用できます。 http://appliedpredictivemodeling.com/blog/2013/12/8/28rmc2lv96h8fw8700zm4nl50busep
基本的に、あなたはあなたに単一の行を追加するだけです 訓練 電話。これが関連する部分です:
> rfDownsampled <- train(Class ~ ., data = training,
+ method = "rf",
+ ntree = 1500,
+ tuneLength = 5,
+ metric = "ROC",
+ trControl = ctrl,
+ ## Tell randomForest to sample by strata. Here,
+ ## that means within each class
+ strata = training$Class,
+ ## Now specify that the number of samples selected
+ ## within each class should be the same
+ sampsize = rep(nmin, 2))
私はあなたのタイプの状況でこのアプローチでいくらかの成功を収めました。
さらにコンテキストについては、不均衡なデータセットを使用した実験に関する詳細な投稿を次に示します。 http://www.win-vector.com/blog/2015/02/does-balancing-classes-improsifier-performance/