1. 程式人生 > >分類與迴歸樹(CART,Classification And Regression Tree)

分類與迴歸樹(CART,Classification And Regression Tree)

分類迴歸樹也屬於一種決策樹。 分類迴歸樹是一棵二叉樹,且每個非葉子節點都有兩個孩子 構建決策樹時通常採用自上而下的方法,在每一步選擇一個最好的屬性來分裂。 "最好" 的定義是使得子節點中的訓練集儘量的純。不同的演算法使用不同的指標來定義"最好"。本部分介紹一種最常見的指標。 GINI指數:
1、是一種不等性度量;
2、通常用來度量收入不平衡,可以用來度量任何不均勻分佈;
3、是介於0~1之間的數,0-完全相等,1-完全不相等; 4、總體內包含的類別越雜亂,GINI指數就越大(跟熵的概念很相似) 基尼不純度指標

在CART演算法中, 基尼不純度表示一個隨機選中的樣本在子集中被分錯的可能性。基尼不純度為這個樣本被選中的概率乘以它被分錯的概率。當一個節點中所有樣本都是一個類時,基尼不純度為零。

演算法:
  1. 根據GINI找到最佳的待切分特徵
  2. 如果該節點不能再分,將該節點存為葉節點
  3. 執行二元切分
  4. 在右子樹遞迴呼叫createTree()方法,建立子樹
  5. 在右子樹遞迴呼叫createTree()方法,建立子樹 : 一個節點產生左右孩子後,遞迴地對左右孩子進行劃分即可產生分類迴歸樹。 當節點包含的資料記錄都屬於同一個類別時就可以終止分裂了。
CART相比AdaBoost的效率會高一些,因為前者是“有條件的切”,後者是完全的“橫、豎”。