Classification

RandomForest-sklearn 中的分類閾值

  • December 18, 2013

1)如何在sklearn的RandomForest中更改分類閾值(我認為默認為0.5)?

  1. 如何在 sklearn 中進行欠採樣?

  2. 我從 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或者,您可以通過為少數類的樣本傳遞更高的值來偏置訓練算法。

引用自:https://stats.stackexchange.com/questions/79984

comments powered by Disqus