python決策樹之CART分類回歸樹詳解
決策樹之CART(分類回歸樹)詳解,具體內(nèi)容如下
1、CART分類回歸樹簡介
CART分類回歸樹是一種典型的二叉決策樹,可以處理連續(xù)型變量和離散型變量。如果待預(yù)測分類是離散型數(shù)據(jù),則CART生成分類決策樹;如果待預(yù)測分類是連續(xù)型數(shù)據(jù),則CART生成回歸決策樹。數(shù)據(jù)對象的條件屬性為離散型或連續(xù)型,并不是區(qū)別分類樹與回歸樹的標(biāo)準(zhǔn),例如表1中,數(shù)據(jù)對象

2、CART分類回歸樹分裂屬性的選擇
2.1 CART分類樹——待預(yù)測分類為離散型數(shù)據(jù)
選擇具有最小
對于樣本集
其中,在樣本集
對于含有
其中,
對于屬性
對于樣本集

所得到的屬性
2.2 CART回歸樹——待預(yù)測分類為連續(xù)型數(shù)據(jù)
區(qū)別于分類樹,回歸樹的待預(yù)測分類為連續(xù)型數(shù)據(jù)。同時,區(qū)別于分類樹選取
針對含有連續(xù)型分類結(jié)果的樣本集
其中,
對于含有
對于屬性
對于樣本集
所得到的屬性
3、CART分類回歸樹的剪枝
由于決策樹的建立完全是依賴于訓(xùn)練樣本,因此該決策樹對訓(xùn)練樣本能夠產(chǎn)生完美的擬合效果。但這樣的決策樹對于測試樣本來說過于龐大而復(fù)雜,可能產(chǎn)生較高的分類錯誤率。這種現(xiàn)象就稱為過擬合。因此需要將復(fù)雜的決策樹進行簡化,即去掉一些節(jié)點解決過擬合問題,這個過程稱為剪枝。
剪枝方法分為預(yù)剪枝和后剪枝兩大類。預(yù)剪枝是在構(gòu)建決策樹的過程中,提前終止決策樹的生長,從而避免過多的節(jié)點產(chǎn)生。預(yù)剪枝方法雖然簡單但實用性不強,因為很難精確的判斷何時終止樹的生長。后剪枝是在決策樹構(gòu)建完成之后,對那些置信度不達標(biāo)的節(jié)點子樹用葉子結(jié)點代替,該葉子結(jié)點的類標(biāo)號用該節(jié)點子樹中頻率最高的類標(biāo)記。后剪枝方法又分為兩種,一類是把訓(xùn)練數(shù)據(jù)集分成樹的生長集和剪枝集;另一類算法則是使用同一數(shù)據(jù)集進行決策樹生長和剪枝。常見的后剪枝方法有CCP(Cost Complexity Pruning)、REP(Reduced Error Pruning)、PEP(Pessimistic Error Pruning)、MEP(Minimum Error Pruning)。其中,悲觀錯誤剪枝法PEP(Pessimistic Error Pruning)在“決策樹之C4.5算法詳解”中有詳細介紹,感興趣的小童鞋可以了解學(xué)習(xí)。這里我們詳細介紹CART分類回歸樹中應(yīng)用最廣泛的剪枝算法——代價復(fù)雜性剪枝法CCP(Cost Complexity Pruning)。
代價復(fù)雜性剪枝法CCP(Cost Complexity Pruning)主要包含兩個步驟:(1)從原始決策樹
CCP剪枝法步驟(1)
生成子樹序列
其中,
例如:圖1中

圖1,決策樹中訓(xùn)練樣本總個數(shù)為80。對于節(jié)點
表2
從表2可以看出,在原始樹
CCP剪枝法步驟(2)
如何根據(jù)第1步產(chǎn)生的子樹序列
參考文獻
[1] 魏紅寧. 決策樹剪枝方法的比較[J]. 西南交通大學(xué)學(xué)報, 2005, 40(1):44-48.
[2] 張宇. 決策樹分類及剪枝算法研究[D]. 哈爾濱理工大學(xué), 2009.
[3] Breiman L, Friedman J H, Olshen R, et al. Classification and Regression Trees[J]. Biometrics, 1984, 40(3):358.
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章

詳解如何使用Python的Plotly庫進行交互式圖形可視化

python實現(xiàn)QQ定時發(fā)送新年祝福信息

python在windows下實現(xiàn)ping操作并接收返回信息的方法

Ubuntu16.04 安裝多個python版本的問題及解決方法

python-opencv在有噪音的情況下提取圖像的輪廓實例

python basemap 畫出經(jīng)緯度并標(biāo)定的實例