日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

2. 决策树(Decision Tree)-ID3、C4.5、CART比较

發(fā)布時間:2023/12/13 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 2. 决策树(Decision Tree)-ID3、C4.5、CART比较 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 決策樹(Decision Tree)-決策樹原理

2. 決策樹(Decision Tree)-ID3、C4.5、CART比較

1. 前言

上文決策樹(Decision Tree)1-決策樹原理介紹了決策樹原理和算法,并且涉及了ID3,C4.5,CART3個決策樹算法。現(xiàn)在大部分都是用CART的分類樹和回歸樹,這三個決策樹算法是一個改進(jìn)和補(bǔ)充的過程,比較它們之間的關(guān)系與區(qū)別,能夠更好的理解決策時算法。

2. ID3算法

2.1 ID3原理

ID3算法就是用信息增益大小來判斷當(dāng)前節(jié)點(diǎn)應(yīng)該用什么特征來構(gòu)建決策樹,用計算出的信息增益最大的特征來建立決策樹的當(dāng)前節(jié)點(diǎn)。算法具體過程看決策樹(Decision Tree)1-決策樹原理

2.2 ID3的不足

ID3算法雖然提出了新思路,但是還是有很多值得改進(jìn)的地方。  

ID3沒有考慮連續(xù)特征,比如長度,密度都是連續(xù)值,無法在ID3運(yùn)用。這大大限制了ID3的用途。
ID3采用信息增益大的特征優(yōu)先建立決策樹的節(jié)點(diǎn)。很快就被人發(fā)現(xiàn),在相同條件下,取值比較多的特征比取值少的特征信息增益大。比如一個變量有2個值,各為1/2,另一個變量為3個值,各為1/3,其實(shí)他們都是完全不確定的變量,但是取3個值的比取2個值的信息增益大。如果校正這個問題呢?
ID3算法對于缺失值的情況沒有做考慮
沒有考慮過擬合的問題

ID3 算法的作者昆蘭基于上述不足,對ID3算法做了改進(jìn),這就是C4.5算法,也許你會問,為什么不叫ID4,ID5之類的名字呢?那是因?yàn)闆Q策樹太火爆,他的ID3一出來,別人二次創(chuàng)新,很快就占了ID4,ID5,所以他另辟蹊徑,取名C4.0算法,后來的進(jìn)化版為C4.5算法。下面我們就來聊下C4.5算法

3. C4.5算法

3.1 C4.5對ID3的改進(jìn)

C4.5改進(jìn)了上面ID3的4個問題,C4.5算法流程具體過程看決策樹(Decision Tree)1-決策樹原理

對于ID3不能處理連續(xù)特征,C4.5的思路是將連續(xù)的特征離散化。比如(m)個樣本的連續(xù)特征(A)有(m)個,從小到大排列為(a_1,a_2,...,a_m),則C4.5取相鄰兩樣本值的平均數(shù),一共取得(m-1)個劃分點(diǎn),其中第i個劃分點(diǎn)Ti表示為:(T_i=frac{a_i+a_{i+1}}{2})。對于這(m-1)個點(diǎn),分別計算以該點(diǎn)作為二元分類點(diǎn)時的信息增益。選擇信息增益最大的點(diǎn)作為該連續(xù)特征的二元離散分類點(diǎn)。比如取到的增益最大的點(diǎn)為(a_t),則小于(a_t)的值為類別1,大于(a_t)的值為類別2,這樣我們就做到了連續(xù)特征的離散化。要注意的是,與離散屬性不同的是,如果當(dāng)前節(jié)點(diǎn)為連續(xù)屬性,則該屬性后面還可以參與子節(jié)點(diǎn)的產(chǎn)生選擇過程。
對于ID3的第2個問題,信息增益作為標(biāo)準(zhǔn)容易偏向于取值較多的特征的問題。我們引入一個信息增益比的變量(I_R(X,Y)),它是信息增益和特征熵的比值。

[I_R(D,A)=frac{I(A,D)}{H_A(D)}
]

對于ID3的第3個缺失值處理的問題,主要需要解決的是兩個問題,一是在樣本某些特征缺失的情況下選擇劃分的屬性,二是選定了劃分屬性,對于在該屬性上缺失特征的樣本的處理。

對于第一個子問題,對于某一個有缺失特征值的特征(A)。C4.5的思路是將數(shù)據(jù)分成兩部分,對每個樣本設(shè)置一個權(quán)重(初始可以都為1),然后劃分?jǐn)?shù)據(jù),一部分是有特征值A(chǔ)的數(shù)據(jù)(D_1),另一部分是沒有特征A的數(shù)據(jù)(D_2)。然后對于沒有缺失特征A的數(shù)據(jù)集(D_1)來和對應(yīng)的A特征的各個特征值一起計算加權(quán)重后的信息增益比,最后乘上一個系數(shù),這個系數(shù)是無特征(A)缺失的樣本加權(quán)后所占加權(quán)總樣本的比例。
對于第二個子問題,可以將缺失特征的樣本同時劃分入所有的子節(jié)點(diǎn),不過將該樣本的權(quán)重按各個子節(jié)點(diǎn)樣本的數(shù)量比例來分配。比如缺失特征(A)的樣本a之前權(quán)重1,特征(A)有3個特征值(A_1,A_2,A_3)。3個特征值對應(yīng)的無缺失A特征的樣本個數(shù)為2,3,4.a同時劃分入(A_1,A_2,A_3)。對應(yīng)權(quán)重調(diào)節(jié)為2/9,3/9, 4/9。

對于ID3的第4個問題,C4.5引入了正則化系數(shù)進(jìn)行剪枝。剪枝的思路已經(jīng)在上一篇文章中討論過了。

3.2 C4.5的不足

C4.5雖然改進(jìn)或者改善了ID3算法的幾個主要的問題,仍然有優(yōu)化的空間。

由于決策樹算法非常容易過擬合,因此對于生成的決策樹必須要進(jìn)行剪枝。C4.5的剪枝方法是PEP。PEP的準(zhǔn)確度比較高,但是依舊會存在以下的問題:

PEP算法實(shí)用的從從上而下的剪枝策略,這種剪枝會導(dǎo)致和預(yù)剪枝同樣的問題,造成剪枝過度。
PEP剪枝會出現(xiàn)剪枝失敗的情況。

C4.5生成的是多叉樹,即一個父節(jié)點(diǎn)可以有多個節(jié)點(diǎn)。很多時候,在計算機(jī)中二叉樹模型會比多叉樹運(yùn)算效率高。如果采用二叉樹,可以提高效率。
C4.5只能用于分類,如果能將決策樹用于回歸的話可以擴(kuò)大它的使用范圍。
C4.5由于使用了熵模型,里面有大量的耗時的對數(shù)運(yùn)算,如果是連續(xù)值還有大量的排序運(yùn)算。如果能夠加以模型簡化可以減少運(yùn)算強(qiáng)度但又不犧牲太多準(zhǔn)確性的話,那就更好了。

4. CART算法

4.1 CART對C4.5的改進(jìn)

CART算法在C4.5的基礎(chǔ)上,對于C4.5中的出現(xiàn)的問題進(jìn)行了改進(jìn)。針對上面提到的C4.5中出現(xiàn)的4點(diǎn)問題,進(jìn)行如下改進(jìn):

CART使用了CCP代價復(fù)雜度剪枝算法,對C4.5的剪枝方法進(jìn)行了優(yōu)化。
針對C4.5的多叉樹的問題,CART改成了二叉樹。CART采用的是不停的二分,舉個例子,CART分類樹會考慮把A分成({A1})和({A2,A3}),({A2})和({A1,A3}),({A3})和({A1,A2})三種情況,找到基尼系數(shù)最小的組合,比如({A2})和({A1,A3}),然后建立二叉樹節(jié)點(diǎn),一個節(jié)點(diǎn)是({A2})對應(yīng)的樣本,另一個節(jié)點(diǎn)是({A1,A3})對應(yīng)的節(jié)點(diǎn)。同時,由于這次沒有把特征A的取值完全分開,后面我們還有機(jī)會在子節(jié)點(diǎn)繼續(xù)選擇到特征(A)來劃分({A1})和({A3})。這和ID3或者C4.5不同,在ID3或者C4.5的一棵子樹中,離散特征只會參與一次節(jié)點(diǎn)的建立,而CART中的離散特征會參與多次節(jié)點(diǎn)建立
CART可以分為CART分類樹和CART回歸樹。CART分類樹和CART回歸樹的算法大致相同,主要區(qū)別有下面兩點(diǎn):

連續(xù)值的處理方法不同。

CART分類樹采用的是用基尼系數(shù)的大小來度量特征的各個劃分點(diǎn)的優(yōu)劣情況
CART回歸樹的度量目標(biāo)是,對于任意劃分特征A,對應(yīng)的任意劃分點(diǎn)s兩邊劃分成的數(shù)據(jù)集D1和D2,求出使D1和D2各自集合的均方差最小,同時D1和D2的均方差之和最小所對應(yīng)的特征和特征值劃分點(diǎn)。表達(dá)式為:

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

決策樹建立后做預(yù)測的方式不同。

CART分類樹采用葉子節(jié)點(diǎn)里概率最大的類別作為當(dāng)前節(jié)點(diǎn)的預(yù)測類別。
CART回歸樹輸出不是類別,它采用的是用最終葉子的均值或者中位數(shù)來預(yù)測輸出結(jié)果。

CART分類樹使用了使用的是基尼系數(shù)的度量方式

CART算法相比C4.5算法的分類方法,采用了簡化的二叉樹模型,同時特征選擇采用了近似的基尼系數(shù)來簡化計算。當(dāng)然CART樹最大的好處是還可以做回歸模型,這個C4.5沒有。

4.2 CART的不足

應(yīng)該大家有注意到,無論是ID3, C4.5還是CART,在做特征選擇的時候都是選擇最優(yōu)的一個特征來做分類決策,但是大多數(shù),分類決策不應(yīng)該是由某一個特征決定的,而是應(yīng)該由一組特征決定的。這樣決策得到的決策樹更加準(zhǔn)確。這個決策樹叫做多變量決策樹(multi-variate decision tree)。在選擇最優(yōu)特征的時候,多變量決策樹不是選擇某一個最優(yōu)特征,而是選擇最優(yōu)的一個特征線性組合來做決策。這個算法的代表是OC1,這里不多介紹。
如果樣本發(fā)生一點(diǎn)點(diǎn)的改動,就會導(dǎo)致樹結(jié)構(gòu)的劇烈改變。這個可以通過集成學(xué)習(xí)里面的隨機(jī)森林之類的方法解決。

總結(jié)

以上是生活随笔為你收集整理的2. 决策树(Decision Tree)-ID3、C4.5、CART比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。