C4.5主要改进
| 決策樹算法是應(yīng)用最廣泛的分類方法之一[51] 。其核心算法是ID3算法和后來的改進(jìn)算法C4.5算法。與ID3相比,C4.5主要改進(jìn)如下: ① 用信息增益率來選擇屬性,克服了用信息增益來選擇屬性時偏向選擇值多的屬性的不足。信息增益率定義為:
其中Gain(S,A)與ID3算法中的信息增益相同,而分裂信息SplitInfo(S,A)代表了按照屬性A分裂樣本集S的廣度和均勻性。 其中,S1到Sc是c個不同值的屬性A分割S而形成的c個樣本子集。 ② 可以處理連續(xù)數(shù)值型屬性。例如,假設(shè)A為一個連續(xù)的數(shù)值型屬性,首先檢查樣本集中該屬性的所有取值,然后將其按升序排列為A1,A2,…,Am。對于每一個Aj,j=1,2,…,m-1,將樣本集劃分為兩個樣本子集,一子集是各記錄屬性A的值均小于等于Aj,另一子集是其各記錄屬性A的值均大于Aj。對于每個劃分,計(jì)算相應(yīng)的信息增益率,然后選擇增益率最大的劃分,作為屬性A的信息增益率。 ③ 為了避免樹的高度無節(jié)制的增長,避免過度擬合數(shù)據(jù),采用了一種后剪枝方法,該方法是從一種稱為”規(guī)則后修剪”(rule post-pruning)的方法演變而來。該方法使用訓(xùn)練樣本集本身來估計(jì)剪枝前后的誤差,從而決定是否真正剪枝。方法中使用的公式如下: 其中N是實(shí)例的數(shù)量,f=E/N為觀察到的誤差率(其中E為N個實(shí)例中分類錯誤的個數(shù)),q為真實(shí)的誤差率,c為置信度(C4.5算法的一個輸入?yún)?shù),默認(rèn)值為0.25),z為對應(yīng)于置信度c的標(biāo)準(zhǔn)差,其值可根據(jù)c的設(shè)定值通過查正態(tài)分布表得到。通過該公式即可計(jì)算出真實(shí)誤差率q的一個置信度上限,用此上限為該節(jié)點(diǎn)誤差率e做一個悲觀的估計(jì): 通過判斷剪枝前后e的大小,從而決定是否需要剪枝。 ④ 對于缺失值的處理。在某些情況下,可供使用的數(shù)據(jù)可能缺少某些屬性的值。假如〈x,c(x)〉是樣本集S中的一個訓(xùn)練實(shí)例,但是其屬性A的值A(chǔ)(x)未知。處理缺少屬性值的一種策略是賦給它結(jié)點(diǎn)n所對應(yīng)的訓(xùn)練實(shí)例中該屬性的最常見值;另外一種更復(fù)雜的策略是為A的每個可能值賦予一個概率。例如,給定一個布爾屬性A,如果結(jié)點(diǎn)n包含6個已知A=1和4個A=0的實(shí)例,那么A(x)=1的概率是0.6,而A(x)=0的概率是0.4。于是,實(shí)例x的60%被分配到A=1的分支,40%被分配到另一個分支。這些片斷樣例(fractional examples)的目的是計(jì)算信息增益,另外,如果有第二個缺少值的屬性必須被測試,這些樣例可以在后繼的樹分支中被進(jìn)一步細(xì)分。C4.5就是使用這種方法處理缺少的屬性值。 |
總結(jié)
- 上一篇: Surface Computing
- 下一篇: 模拟退火(SA)