我想比較從邏輯迴歸和CART模型獲得的ROC曲線。我發現邏輯迴歸的ROC曲線非常平滑。這是有道理的,因爲閾值範圍在[0,1]之間是連續的。我想了解爲何CART模型的ROC曲線不平滑。在此先感謝您的幫助。爲什麼我們不能在CART模型中獲得平滑的ROC曲線
0
A
回答
0
原因很簡單 - 決策樹中的閾值很清晰,因爲這通常是樹葉中類的有效比率。如果你有N個訓練點,葉子可能只有N種不同的可能比率,因此(最多)N個可能的分類可以通過移動這個閾值來獲得。你可以通過以下方式來解決這個問題,最後每個點在落到某個葉子時被分類。在這個葉子裏,你有K個陽性和M個陰性樣本。根據K /(M + K)>閾值將您歸類爲正類。 K /(M + K)可以有多少個不同的值?你的樹有多少片樹葉?最後,這些數字並不那麼大(它們比N小),因此大多數閾值都不會改變。更直觀 - 決策樹以大塊分割您的輸入空間。一旦你翻轉一個門檻(葉),一個大塊會改變班級(顏色) - 從而在你的ROC曲線上產生巨大的跳躍。
對於邏輯迴歸,您幾乎總是有所有可能性,因爲一旦您訓練了w,每個測試/訓練點將會有不同的投影(假設它們來自某種連續分佈),因此當您在此移動閾值(1 /(1 + exp(< w,x> + b))>閾值),您將獲得N + 1個可能的標記,因爲如果在w上顯示投影點,它將如下所示:
* * * * * * * * * * * * *
--------------------------------------------------------------->
<w, x>
根據閾值的選擇,您將對從-inf到閾值的所有內容進行分類並保留到另一個(從而創建N + 1個可能的標記),從而爲您提供平滑的ROC曲線。
相關問題
- 1. 什麼是ROC曲線?
- 2. 爲什麼我的ROC曲線看起來像V?
- 3. 我可以使用什麼來在WPF中創建ROC曲線?
- 4. ROC曲線tf.contrib.learn.LinearClassifier
- 5. ROC曲線Turorial
- 6. C++中的曲線平滑
- 7. Python平滑曲線
- 8. 如何在繪製HTML5畫布時獲得平滑的曲線?
- 9. R中的多個模型組合的ROC曲線和AUC
- 10. 平滑曲線在Python
- 11. 沒有用gnuplot得到平滑曲線
- 12. 如何ROC曲線
- 13. 使用Perl模塊的ROC曲線?
- 14. 爲什麼我不能在模板中迭代我的模型?
- 15. gnuplot的:平滑曲線
- 16. ggplot平滑線GLM模型
- 17. matplotlib的ROC/AUC曲線
- 18. 奇怪的ROC曲線
- 19. ROC曲線的輸入
- 20. ROCR - 奇怪的ROC曲線
- 21. 問題ROC曲線SVM模擬數據
- 22. 如何獲得決策樹的ROC曲線?
- 23. 從ROC曲線獲取閾值
- 24. 爲什麼我沒有獲得水平線的斜率= 0?
- 25. ggplot2爲什麼我的平滑功能不起作用?
- 26. R:完美平滑曲線
- 27. 如何平滑曲線
- 28. 繪圖R,曲線平滑
- 29. 算法來平滑曲線
- 30. 繪製平滑曲線
邏輯迴歸適合連續函數。樹木是離散的。但即使邏輯迴歸也會產生階梯狀的ROC曲線,如果你的數據不是光滑的。 – Gregor
我正在提名此遷移到datascience.stackexchange - 它似乎不是一個編程問題。 – Gregor
偏離主題:遷移到datascience.stackexchange – Gregor