更新、更全的《機器學習》的更新網站,更有python、go、數據結構與算法、爬蟲、人工智能教學等着你:http://www.javashuo.com/article/p-vozphyqp-cm.htmlpython
決策樹總結
1、ID3算法、C4.5算法和CART算法比較
ID3 |
分類 |
多叉樹 |
信息增益 |
不支持 |
不支持 |
不支持 |
C4.5 |
分類 |
多叉樹 |
信息增益比 |
支持 |
支持 |
支持 |
CART |
分類、迴歸 |
二叉樹 |
基尼指數、均方差 |
支持 |
支持 |
支持 |
2、決策樹優缺點
2.1 優勢
- 簡單明瞭,生成的決策樹很直觀,在邏輯上能夠獲得很好的解釋,屬於白盒模型。
- 一般狀況下不須要進行數據預處理。
- 使用決策樹預測的代價是\(O(\log_2m)\quad\text{m爲樣本數}\)。
- 不少算法只是專一於離散值或者連續值,而決策樹既能夠處理離散值也能夠處理連續值。
- 能夠處理多維度樣本的分類問題。
- 可使用交叉驗證的剪枝方法來選擇模型,很大程度的提升了泛化能力。
- 對於敏感點的容錯能力強。
2.2 缺點
- 決策樹算法很是容易過擬合,進而致使泛化能力不強。(能夠經過設置節點最少樣本數量和限制決策樹層數來改進)
- 決策樹會由於樣本發生一點的改動,進而致使樹結構發生劇烈變化。(可使用集成學習生成隨機森林、Xgboost等方法改善)
- 一般狀況下經過啓發式方法尋找最優的決策樹,但因爲該問題是一個NP難的問題,因此很容易獲得局部最優解。(可使用集成學習生成隨機森林、Xgboost等方法改善)
- 決策樹很難學習比較複雜的關係,例如異或。(一般換個分類器解決該類問題,例如使用神經網絡分類)
- 決策樹容易偏向於徵樣本比例偏大的特徵。(能夠適度的調節樣本的權重)