1. 程式人生 > >ID3和C4.5的區別和聯絡

ID3和C4.5的區別和聯絡

  ID3演算法是決策樹的一個經典的構造演算法,在一段時期內曾是同類研究工作的比較物件,但通過近些年國內外學者的研究,ID3演算法也暴露出一些問題,具體如下:

    (1)資訊增益的計算依賴於特徵數目較多的特徵,而屬性取值最多的屬性並不一定最優。

    (2)ID3是非遞增演算法。

    (3)ID3是單變數決策樹(在分枝節點上只考慮單個屬性),許多複雜概念的表達困難,屬性相互關係強調不夠,容易導致決策樹中子樹的重複或有些屬性在決策樹的某一路徑上被檢驗多次。

    (4)抗噪性差,訓練例子中正例和反例的比例較難控制。

    於是Quilan改進了ID3,提出了C4.5演算法。C4.5演算法現在已經成為最經典的決策樹構造演算法,排名資料探勘十大經典演算法之首,下一篇文章將重點討論。

決策樹的經典構造演算法——C4.5(WEKA中稱J48)

由於ID3演算法在實際應用中存在一些問題,於是Quilan提出了C4.5演算法,嚴格上說C4.5只能是ID3的一個改進演算法。

    C4.5演算法繼承了ID3演算法的優點,並在以下幾方面對ID3演算法進行了改進:

    1) 用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足;

    2) 在樹構造過程中進行剪枝;

    3) 能夠完成對連續屬性的離散化處理;

    4) 能夠對不完整資料進行處理。

    C4.5演算法有如下優點:產生的分類規則易於理解,準確率較高。其缺點是:在構造樹的過程中,需要對資料集進行多次的順序掃描和排序,因而導致演算法的低效。此外,C4.5只適合於能夠駐留於記憶體的資料集,當訓練集大得無法在記憶體容納時程式無法執行。

另外,無論是ID3還是C4.5最好在小資料集上使用,決策樹分類一般只試用於小資料。當屬性取值很多時最好選擇C4.5演算法,ID3得出的效果會非常差。