Classification
RandomForest-sklearn 中的分類閾值
1)如何在sklearn的RandomForest中更改分類閾值(我認為默認為0.5)?
如何在 sklearn 中進行欠採樣?
我從 RandomForest 分類器得到以下結果:[[1635 1297] [520 3624]]
precision recall f1-score support class 0 0.76 0.56 0.64 2932 class 1 0.74 0.87 0.80 4144
8 月 / 總計 0.75 0.74 0.73 7076
首先,數據不平衡(30% 來自 0 類,70% 來自 1 類)。所以,我認為分類器更可能偏向於 1 類,這意味著將一些從 0 類移動到 1 類(0 類有 1297 個錯誤分類,1 類有 520 個錯誤分類)。我怎樣才能解決這個問題?下採樣是否有幫助?或改變分類閾值?
更新:0 類有 40% 的人口,而 1 類是 60%。但是,從 0 類到 1 類(1297)的漂移很高,而我希望它變低。
您確實可以將隨機森林包裝在一個類中,該類
predict
調用predict_proba
內部隨機森林的方法並僅在高於自定義閾值時才輸出類 1。
sample_weight
或者,您可以通過為少數類的樣本傳遞更高的值來偏置訓練算法。