1.決策樹種類
算法 | 支持類型 | 樹結構 | 特徵選擇 | 連續值處理 | 缺失值處理 | 剪枝 |
ID3 | 分類 | 多叉樹 | 信息增益 | 不支持 | 不支持 | 不支持 |
C4.5(J48) | 分類 | 多叉樹 | 信息增益率 | 支持 | 支持 | 支持 |
CART | 分類,迴歸 | 二叉樹 | 基尼係數,方差 | 支持 | 支持 | 支持 |
2.決策樹的優點
1)簡單直觀,生成的決策樹很直觀。
2)基本不需要預處理,不需要提前歸一化,處理缺失值。
3)使用決策樹預測的代價是O(log2m)。 m爲樣本數。
4)既可以處理離散值也可以處理連續值。很多算法只是專注於離散值或者連續值。
5)可以處理多維度輸出的分類問題。
6)相比於神經網絡之類的黑盒分類模型,決策樹在邏輯上可以得到很好的解釋
7)可以交叉驗證的剪枝來選擇模型,從而提高泛化能力。
8) 對於異常點的容錯能力好,健壯性高。
3.決策樹的侷限性
1)決策樹算法非常容易過擬合,導致泛化能力不強。可以通過設置節點最少樣本數量和限制決策樹深度來改進。
2)決策樹會因爲樣本發生一點點的改動,就會導致樹結構的劇烈改變。這個可以通過集成學習之類的方法解決。
3)尋找最優的決策樹是一個NP難的問題,我們一般是通過啓發式方法,容易陷入局部最優。可以通過集成學習之類的方法來改善。
4)有些比較複雜的關係,決策樹很難學習,比如異或。這個就沒有辦法了,一般這種關係可以換神經網絡分類方法來解決。
5)如果某些特徵的樣本比例過大,生成決策樹容易偏向於這些特徵。這個可以通過調節樣本權重來改善。
參考鏈接:https://blog.csdn.net/qingqing7/article/details/78416708
參考鏈接:https://blog.csdn.net/liqiutuoyuan/article/details/77245738
參考鏈接:https://blog.csdn.net/ice_martin/article/details/63683657