1. 程式人生 > >決策樹演算法ID3,C4.5, CART

決策樹演算法ID3,C4.5, CART

決策樹是機器學習中非常經典的一類學習演算法,它通過樹的結構,利用樹的分支來表示對樣本特徵的判斷規則,從樹的葉子節點所包含的訓練樣本中得到預測值。決策樹如何生成決定了所能處理的資料型別和預測效能。主要的決策樹演算法包括ID3,C4.5, CART等。

1,ID3

ID3是由 Ross Quinlan在1986年提出的一種構造決策樹的方法。用於處理標稱型資料集,其構造過程如下:

輸入訓練資料是一組帶有類別標記的樣本,構造的結果是一棵多叉樹。樹的分支節點一般表示為一個邏輯判斷,如形式為a=aj的邏輯判斷,其中a是屬性,aj是該屬性的所有取值。

在該節點上選取能對該節點處的訓練資料進行最優劃分的屬性。最後劃分的標準是資訊增益(Information Gain),即劃分前後資料集的熵的差異。

如果在該節點的父節點或者祖先中用了某個屬性,則這個用過的屬性就不再使用。選擇好最優屬性後,假設該屬性有N個取值,則為該節點建立N個分支,將相應的訓練資料傳遞到這N個分支中,遞迴進行,停止條件為:

 (1)該節點的所有樣本屬於同一類,該節點成為葉節點,存放相應的類別。

 (2)所有的屬性都已被父節點或祖先使用。這種情況下,該節點成為葉節點,並以樣本中元組個數最多的類別作為類別標記,同時也可以存放該結點樣本的類別分佈。

ID3的特點是:(1),容易造成過度擬合。(2), 使用標稱型資料,但是很難處理連續型資料。

2, C4.5

C4.5是對ID3的改進,其基本過程與ID3類似,改進的地方在於:

(1)既能處理標稱型資料,又能連續型

資料。為了處理連續型資料,該演算法在相應的節點使用一個屬性的閾值,利用閾值將樣本劃分成兩部分。

(2)能處理缺失了一些屬性的資料。該演算法允許屬性值缺失時被標記為?,屬性值缺失的樣本在計算熵增益時被忽略。

(3)構造完成後可以剪枝。合併相鄰的無法產生大量資訊增益的葉節點,消除過渡匹配問題。

3,CART

CART稱為分類決策樹,classification and regression tree,既能處理分類問題,又能處理迴歸問題。最初由Breiman提出。與ID3不能直接處理連續型特徵不同的是,CART使用二元切分,即使用一個屬性閾值對樣本資料進行劃分。劃分的標準除了使用熵增益外,還有基尼純淨度(Gini impurity)和方差縮減(variance reduction)(用於迴歸)。