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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

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

發(fā)布時間:2023/12/13 综合教程 30 生活家
生活随笔 收集整理的這篇文章主要介紹了 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的分類樹和回歸樹,這三個決策樹算法是一個改進和補充的過程,比較它們之間的關系與區(qū)別,能夠更好的理解決策時算法。

2. ID3算法

2.1 ID3原理

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

2.2 ID3的不足

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

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

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

3. C4.5算法

3.1 C4.5對ID3的改進

C4.5改進了上面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)個劃分點,其中第i個劃分點Ti表示為:(T_i=frac{a_i+a_{i+1}}{2})。對于這(m-1)個點,分別計算以該點作為二元分類點時的信息增益。選擇信息增益最大的點作為該連續(xù)特征的二元離散分類點。比如取到的增益最大的點為(a_t),則小于(a_t)的值為類別1,大于(a_t)的值為類別2,這樣我們就做到了連續(xù)特征的離散化。要注意的是,與離散屬性不同的是,如果當前節(jié)點為連續(xù)屬性,則該屬性后面還可以參與子節(jié)點的產生選擇過程。
對于ID3的第2個問題,信息增益作為標準容易偏向于取值較多的特征的問題。我們引入一個信息增益比的變量(I_R(X,Y)),它是信息增益和特征熵的比值。

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

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

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

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

3.2 C4.5的不足

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

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

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

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

4. CART算法

4.1 CART對C4.5的改進

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

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

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

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

[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]
]

決策樹建立后做預測的方式不同。

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

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

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

4.2 CART的不足

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

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。