我將CART獨立於其餘經典決策樹算法的緣由是CART相對來講較爲複雜。由於它不單單能夠做爲分類樹,還能夠做爲迴歸樹。算法
對於對於CART分類樹,這就和咱們以前所說的《經典決策樹算法》中的ID3與C4.5很是相似,可是與他們不一樣的是,咱們在CART中並不採用信息增益或者是信息增益比來做爲決策條件,而是採用了一種叫作基尼指數的衡量標準。這裏咱們不得不提到一個新的衡量特徵好壞的方式:基尼指數。機器學習
基尼指數公式表達的是任取兩個樣本,這兩個樣本不相同的機率。宏觀表達的是描述一個集合的混亂程度。基尼指數越大,表示這個樣本集合D越混亂。這和熵的做用有些相似,但這僅僅是一個指數,可以判斷大小,但不能像熵同樣線性的量化集合中的混亂程度。 咱們也很容易發現,基尼指數是一個(0,1)的數。 咱們還有一個特徵條件下的集合基尼指數定義: 學習
算法中止與節點樣本個數小於閾值,或者是基尼指數小於閾值(樣本基本屬於同一類),或者沒有更多特徵。 CART分類樹生成算法比較簡單。就是將分配原則設定成了基尼指數。固然,咱們仍是最主要關注基尼指數的計算過程。我介紹個例子來輔助理解計算過程。3d
CART生成迴歸樹的算法是用來根據已有數據生成一個迴歸樹,具體算法以下:cdn
這個算法比前面的那些算法要更加複雜一點,有不少公式。要想理解這個算法的做用,咱們得先從感性上理解這個算法是作什麼的。 咱們考慮最簡單的最小二乘迴歸,CART要求咱們將全部輸入數據都看成在二維的平面上若干個數據點。以x軸爲劃分依據(也就是最後的迴歸樹的分界線是x的值,x大於或小於某個值會判斷成什麼)。blog
放個例子輔助理解:it
李航《統計學習方法》 周志華《機器學習》io