問題タブ [adaptive-threshold]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
394 参照

pyspark - 不均衡なデータセットで pyspark (ml) のマルチクラス ランダム フォレストと gbt モデルの最適なしきい値を設定する

現在、ランダム フォレスト分類子 (Spark ML から) は、次の分布を持つ不均衡なデータセットに基づいて構築されています。

マルチクラスの問題の結果として、次の確率行列が得られます。確率列は、オブザベーションがクラスとして分類される確率を示します。(これらは、ランダム フォレスト モデルからの正規化された rawPredicitions です)。

実際の予測クラスは、多数派クラス (0 & 8) に大きく偏っています。これは、以下に示すように、クラスをオブザベーションに割り当てるために多数決確率が使用されるためです。アンダーサンプリングとオーバーサンプリングの方法を適用しても、混同行列からの出力の精度は向上しません。

出力からの混同行列もテーブル形式に

ただし、これらの予測を使用すると、AUC 曲線は非常に有望に見えます。(平均 AUC 0.74)。以下のクラスごとの 1 対多の AUC 曲線のプロットを参照してください。

異なるクラスの AUC 曲線 (1 対多)

これらの確率から最適なクラスを取得する方法がわかりません。AUC を見ると、最適なしきい値を取得する方法が複数あります。解決策は、事前確率の逆数を乗算することですが、別の解決策は、線形回帰を適合させることです。別の解決策は、この論文で説明されているペアワイズ分析ですが、そこにアルゴリズムを正確に適用する方法がわかりません。ペアワイズ分析によるマルチクラス ROC の近似

ランダム フォレスト (または他のツリー分類子) の予測確率に重み付けするクラスを取得する最も簡単な Spark 実装は何でしょうか?