1. 程式人生 > >資料探勘十大經典演算法(十) CART: 分類與迴歸樹

資料探勘十大經典演算法(十) CART: 分類與迴歸樹

在資料探勘中,決策樹主要有兩種型別: 
分類樹 的輸出是樣本的類標。 

迴歸樹 的輸出是一個實數 (例如房子的價格,病人呆在醫院的時間等)。 

分類迴歸樹是一棵二叉樹,且每個非葉子節點都有兩個孩子,所以對於第一棵子樹其葉子節點數比非葉子節點數多1。 

決策樹為什麼(WHY)要剪枝? 原因是避免決策樹過擬合(Overfitting)樣本。

如何(HOW)在原生的過擬合決策樹的基礎上,生成簡化版的決策樹?可以通過剪枝的方法來簡化過擬合的決策樹。

剪枝可以分為兩種 :預剪枝(Pre-Pruning)和後剪枝(Post-Pruning): 
PrePrune:預剪枝,及早的停止樹增長。 
PostPrune:後剪枝,在已生成過擬合決策樹上進行剪枝,可以得到簡化版的剪枝決策樹。 
其實剪枝的準則是如何確定決策樹的規模,可以參考的剪枝思路有以下幾個: 
1:使用訓練集合(Training Set)和驗證集合(Validation Set),來評估剪枝方法在修剪結點上的效用 
2:使用所有的訓練集合進行訓練,但是用統計測試來估計修剪特定結點是否會改善訓練集合外的資料的評估效能,如使用Chi-Square(Quinlan,1986)測試來進一步擴充套件結點是否能改善整個分類資料的效能,還是僅僅改善了當前訓練集合資料上的效能。 
3:使用明確的標準來衡量訓練樣例和決策樹的複雜度,當編碼長度最小時,停止樹增長,如MDL(Minimum Description Length)準則。 

1、Reduced-Error Pruning(REP,錯誤率降低剪枝) 
該剪枝方法考慮將書上的每個節點作為修剪的候選物件,決定是否修剪這個結點有如下步驟組成: 
1:刪除以此結點為根的子樹 
2:使其成為葉子結點 
3:賦予該結點關聯的訓練資料的最常見分類 
4:當修剪後的樹對於驗證集合的效能不會比原來的樹差時,才真正刪除該結點 
因為訓練集合的過擬合,使得驗證集合資料能夠對其進行修正,反覆進行上面的操作,從底向上的處理結點,刪除那些能夠最大限度的提高驗證集合的精度的結點,直到進一步修剪有害為止(有害是指修剪會減低驗證集合的精度) 
REP是最簡單的後剪枝方法之一,不過在資料量比較少的情況下,REP方法趨於過擬合而較少使用。這是因為訓練資料集合中的特性在剪枝過程中被忽略,所以在驗證資料集合比訓練資料集合小的多時,要注意這個問題。 
儘管REP有這個缺點,不過REP仍然作為一種基準來評價其它剪枝演算法的效能。它對於兩階段決策樹學習方法的優點和缺點提供了了一個很好的學習思路。由於驗證集合沒有參與決策樹的建立,所以用REP剪枝後的決策樹對於測試樣例的偏差要好很多,能夠解決一定程度的過擬合問題。 
  
2、Pessimistic Error Pruning(PEP,悲觀剪枝) 
先計算規則在它應用的訓練樣例上的精度,然後假定此估計精度為二項式分佈,並計算它的標準差。對於給定的置信區間,採用下界估計作為規則效能的度量。這樣做的結果,是對於大的資料集合,該剪枝策略能夠非常接近觀察精度,隨著資料集合的減小,離觀察精度越來越遠。該剪枝方法儘管不是統計有效的,但是在實踐中有效。