機器學習之:決策樹(Decision Tree)
阿新 • • 發佈:2019-01-06
Decision Tree
1. 決策樹
決策樹是機器學習中最接近人類思考問題的過程的一種演算法。通過若干個節點,對特徵進行提問並分類(可以是二分類也可以使多分類),直至最後生成葉節點(也就是隻剩下一種屬性)。每個內部結點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結點代表類或類分佈。樹的最頂層是根結點。
2. 決策樹的基本演算法
決策樹一般的演算法有如下三種:
- 資訊增益:ID3演算法
- 資訊增益率:C4.5演算法
CART基尼指數
三種演算法的共同點和不同點:
共同點:都是貪心演算法,自上而下(Top—down approach)
- 不同點:屬性選擇度量方法不同:C4.5(gain ratio)CRAT (gini index)ID3(information gain)
3. ID3演算法的實現
決策樹演算法實現一般分為三步走,其一:特徵的選擇,feature selection;其二:生成遞迴,Decision tree ;其三:防止過擬合,剪枝,pruing;
下面從以上三步,來介紹ID3演算法的實現:
4. 資訊熵
資訊熵用來解決什麼問題:如何選擇節點。
資訊熵如何解決節點的選擇問題:
5. 決策樹如何避免過擬合(overfitting)
決策樹剪枝:決策樹演算法通過剪枝來避免過擬合。具體有以下兩種實現方法:
- 先剪枝
- 後剪枝
6. 決策樹優缺點
演算法的評估:可有有五個維度來評價一個演算法的優劣,準確性、執行速度、強壯性、可規模化、課解釋性具體參見
決策樹演算法的優點:
- 直觀、便於理解、小規模資料有效
決策樹演算法的缺點:
- 處理連續資料不好
- 類別較多時,錯誤增加的比較快
- 可規模性一般