1. 程式人生 > >機器學習之:決策樹(Decision Tree)

機器學習之:決策樹(Decision Tree)

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. 決策樹優缺點

演算法的評估:可有有五個維度來評價一個演算法的優劣,準確性、執行速度、強壯性、可規模化、課解釋性具體參見

決策樹演算法的優點:

  • 直觀、便於理解、小規模資料有效

決策樹演算法的缺點:

  • 處理連續資料不好
  • 類別較多時,錯誤增加的比較快
  • 可規模性一般