誕生即有理---CART(Classification And Regression Tree)

我將CART獨立於其餘經典決策樹算法的緣由是CART相對來講較爲複雜。由於它不單單能夠做爲分類樹,還能夠做爲迴歸樹。算法

CART分類樹算法

對於對於CART分類樹,這就和咱們以前所說的《經典決策樹算法》中的ID3與C4.5很是相似,可是與他們不一樣的是,咱們在CART中並不採用信息增益或者是信息增益比來做爲決策條件,而是採用了一種叫作基尼指數的衡量標準。這裏咱們不得不提到一個新的衡量特徵好壞的方式:基尼指數。機器學習

基尼指數

基尼指數的定義

基尼指數公式表達的是任取兩個樣本,這兩個樣本不相同的機率。宏觀表達的是描述一個集合的混亂程度。基尼指數越大,表示這個樣本集合D越混亂。這和熵的做用有些相似,但這僅僅是一個指數,可以判斷大小,但不能像熵同樣線性的量化集合中的混亂程度。 咱們也很容易發現,基尼指數是一個(0,1)的數。 咱們還有一個特徵條件下的集合基尼指數定義: 學習

集合中的基尼指數定義

CART分類生成算法

CART分類樹生成算法

算法中止與節點樣本個數小於閾值,或者是基尼指數小於閾值(樣本基本屬於同一類),或者沒有更多特徵。 CART分類樹生成算法比較簡單。就是將分配原則設定成了基尼指數。固然,咱們仍是最主要關注基尼指數的計算過程。我介紹個例子來輔助理解計算過程。3d

![CART分類樹例子《統計學習方法》](https://user-gold-cdn.xitu.io/2017/11/23/15fe8ba36bcdafa6?w=611&h=107&f=png&s=40933)

CART迴歸樹算法

CART生成迴歸樹的算法是用來根據已有數據生成一個迴歸樹,具體算法以下:cdn

CART迴歸樹生成算法(最小二乘)

這個算法比前面的那些算法要更加複雜一點,有不少公式。要想理解這個算法的做用,咱們得先從感性上理解這個算法是作什麼的。 咱們考慮最簡單的最小二乘迴歸,CART要求咱們將全部輸入數據都看成在二維的平面上若干個數據點。以x軸爲劃分依據(也就是最後的迴歸樹的分界線是x的值,x大於或小於某個值會判斷成什麼)。blog

  1. 先本身認定一組切分點(通常認爲是兩個點x值的中點)。而後計算這一組切分點中每個切分點對應的均方偏差,找到均方偏差最小的那個切分點做爲一個節點。
  2. 這個切分點已經將整個空間劃爲兩塊(咱們只考慮最簡單的二維,因此一個點表明一條垂直於x軸的線),咱們分別對這兩塊繼續計算均方偏差,找到下一個節點;
  3. 知道總的均方偏差達到要求爲止。

放個例子輔助理解:it

迴歸樹生成算法舉例


參考文獻:

李航《統計學習方法》 周志華《機器學習》io

相關文章
相關標籤/搜索