分類回歸樹


  CART(Classification and Regression tree)分類回歸樹由L.Breiman,J.Friedman,R.Olshen和C.Stone於1984年提出。CART是一棵二叉樹,采用二元切分法,每次把數據切成兩份,分別進入左子樹、右子樹。而且每個非葉子節點都有兩個孩子,所以CART的葉子節點比非葉子多。相比ID3和C4.5,CART應用要多一些,既可以用於分類也可以用於回歸。

一 特征選擇

  CART分類時,使用基尼指數(Gini)來選擇最好的數據分割的特征,Gini描述的是純度,與信息熵的含義相似。CART中每一次迭代都會降低GINI系數。下圖顯示信息熵增益的一半,Gini指數,分類誤差率三種評價指標非常接近。回歸時使用均方差作為loss function。基尼系數的計算與信息熵增益的方式非常類似,具體的,在分類問題中,假設有K個類別,第k個類別的概率為$p_k$, 則基尼系數的表達式為:

 如果是二類分類問題,計算就更加簡單了,如果屬於第一個樣本輸出的概率是$p$,則基尼系數的表達式為:

$$Gini(p) = \sum\limits_{k=1}^{K}p_k(1-p_k) = 1- \sum\limits_{k=1}^{K}p_k^2$$

對於二分類問題來說,基尼系數:
$$Gini(p)=p(1-p)$$
對於個給定的樣本D,假設有K個類別, 第k個類別的數量為,則樣本D的基尼系數表達式為:

$$Gini(D)=1-\sum\limits_{k=1}^{K}(\frac{|C_{k}}{|D|}^2$$

特征A條件下的,集合D的基尼系數為:

$$Gini(D,A)=\frac{|D_1|}{|D|}Gini(D_1)+ \frac{|D_2|}{|D|}Gini(D_2)$$

CART中每一次迭代都會降低GINI系數。下圖顯示信息熵增益的一半,Gini指數,分類誤差率三種評價指標非常接近。回歸時使用均方差作為loss function。

  二 cart用於回歸        

  CART回歸樹和CART分類樹的建立算法大部分是類似的,所以這里我們只討論CART回歸樹和CART分類樹的建立算法不同的地方。

  首先,我們要明白,什么是回歸樹,什么是分類樹。兩者的區別在於樣本輸出,如果樣本輸出是離散值,那么這是一顆分類樹。如果果樣本輸出是連續值,那么那么這是一顆回歸樹。

  除了概念的不同,CART回歸樹和CART分類樹的建立和預測的區別主要有下面兩點:

  • 連續值的處理方法不同
  • 決策樹建立后做預測的方式不同。

  對於連續值的處理,我們知道CART分類樹采用的是用基尼系數的大小來度量特征的各個划分點的優劣情況。這比較適合分類模型,但是對於回歸模型,我們使用了常見的和方差的度量方式,CART回歸樹的度量目標是,對於任意划分特征A,對應的任意划分點s兩邊划分成的數據集D1和D2,求出使D1和D2各自集合的均方差最小,同時D1和D2的均方差之和最小所對應的特征和特征值划分點。表達式為:

$$\underbrace{min}_{A,s}\Bigg[\underbrace{min}_{c_1}\sum\limits_{x_i \in D_1(A,s)}(y_i - c_1)^2 + \underbrace{min}_{c_2}\sum\limits_{x_i \in D_2(A,s)}(y_i - c_2)^2\Bigg]$$

其中,$c_1$為D1數據集的樣本輸出均值,$c_2$為D2數據集的樣本輸出均值。

   對於決策樹建立后做預測的方式,上面講到了CART分類樹采用葉子節點里概率最大的類別作為當前節點的預測類別。而回歸樹輸出不是類別,它采用的是用最終葉子的均值或者中位數來預測輸出結果。

   除了上面提到了以外,CART回歸樹和CART分類樹的建立算法和預測沒有什么區別


免責聲明!

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



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