機器學習技法-決策樹和CART分類回歸樹構建算法


課程地址:https://class.coursera.org/ntumltwo-002/lecture

重要!重要!重要~

image

一、決策樹(Decision Tree)、口袋(Bagging),自適應增強(AdaBoost)

image

  • Bagging和AdaBoost算法再分類的時候,是讓所有的弱分類器同時發揮作用。它們之間的區別每個弱分離器是否對后來的blending生成G有相同的權重。
  • Decision Tree是一種有條件的融合算法,每次只能根據條件讓某個分類器發揮作用。

二、基本決策樹算法

1.用遞歸的視角來看決策樹,根據特征選擇分支條件,不斷的生成子樹,所有的子數組成了最后的決策樹。

例如下面根據回家時間、約會情況、作業的deadline的特征,生成決策樹,預測是否會觀看mooc在線課程。

 image

2.基本的決策樹算法描述

  • 確定分支條件。分支條件可以由人來確定,也可以由算法生成
  • 根據分支條件划分訓練數據D
  • 根據分支條件不斷遞歸生成子樹,直到滿足終止條件
  • 為了防止過擬合,限制模型的復雜度,通常都會通過剪枝(Pruning)來正則化決策樹
image

三、CART算法(分類回歸樹)

林這里講的很容易理解,可以參考:http://blog.csdn.net/u011067360/article/details/24871801?utm_source=tuicool&utm_medium=referral

  • CART是只有兩個分支的二叉樹
  • 根據“純度”確定分支的條件。對於分類的通常選擇GINI,對於連續的目標變量可以使用LSD或者LAD。

GINI指數:介於0~1之間的數,0-完全相等,1-完全不等。總體內包含的類別越雜亂,GINI指數就越大(和熵的概念類似)。

image

  1. 根據GINI找到最佳的待切分特征
  2. 如果該節點不能再分,將該節點存為葉節點
  3. 執行二元切分
  4. 在右子樹遞歸調用createTree()方法,創建子樹
  5. 在右子樹遞歸調用createTree()方法,創建子樹

四、CART和AdaBoost元算法應用比較

CART相比AdaBoost的效率會高一些,因為前者是“有條件的切”,后者是完全的“橫、豎”。

image

五、CART實踐中的特點

image

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM