我使用python在二進制目標類的不平衡數據集上運行隨機森林。我想將默認概率閾值0.5更改爲另一個值以提高召回率和精確度。到目前爲止,我找不到任何可用於執行此任務的已定義方法或類。任何人都可以請教一個方法,或者是否意味着我應該自己編寫代碼?乾杯如何在隨機森林中設置自己的概率閾值?
0
A
回答
1
的RandomForestClassifier scikit學習沒有固定的閾值,以指定一個類樣品。正如你在RandomForestClassifier.predict的源代碼中看到的那樣,它只是返回最可能的類。當然你可以使用@thiom提出的方法,但我很難想象這會提高精度和回憶。
舉例來說,如果你選擇的閾值是0.7和類概率爲0.6和0.4,你什麼分配類?一個都沒有?
作爲一種替代方法,您可以嘗試使用RandomForestClassifier的class_weight
選項來更多地重視您的代表性不足的班級。
+0
我同意。改變預測概率並不是提高不平衡類的精度/召回率的有效方法。您將需要更新您的模型訓練策略,如玩類別權重(如Rene所建議的)或更改抽樣頻率。 – tihom
相關問題
- 1. 如何從h2o隨機森林對象中獲取隨機森林閾值
- 2. 隨機森林clasification:如何從「probabilityCol」推斷類概率
- 3. 從隨機森林中檢索結果的概率
- 4. scikit學習隨機森林的概率分佈?
- 5. P值爲隨機森林
- 6. 隨機森林的高OOB錯誤率
- 7. 隨機森林 - 概率估計(+ scikit學習具體)
- 8. 如何從Spark ML隨機森林中獲得對應於該類的概率
- 9. 如何從迴歸隨機森林中獲得概率密度函數?
- 10. python中的隨機森林
- 11. 隨機森林中的R
- 12. ROC隨機森林
- 13. 如何將隨機森林預測概率轉換爲單個分類響應?
- 14. OpenCV隨機森林:設置隨機種子
- 15. 具有NaN值的隨機森林
- 16. Graphlab - 如何設置隨機森林分類
- 17. Spark隨機森林錯誤
- 18. 隨機森林,使用R
- 19. 隨機森林分析
- 20. 隨機森林分類器
- 21. OpenCV - 隨機森林示例
- 22. 如何sklearn隨機森林指數feature_importances_
- 23. R隨機森林處理Posixct值
- 24. 隨機森林分類器:特徵預測概率的重要性
- 25. R中的隨機森林包
- 26. 隨機森林中的子集
- 27. scikit-learn中的隨機森林解釋
- 28. R中的隨機森林 - 很多類
- 29. Python中的隨機森林實現
- 30. 隨機森林中的套袋和max_feature
您正在運行哪個庫? Python沒有「隨機森林」。 –
@AmiTavory我使用'from sklearn.ensemble import RandomForestClassifier' – LUSAQX
您可以使用'p = clf.predict_proba(X)'得到概率,然後計算'Y = p> custom_value' – tihom