決策樹演算法 ID3和C4 5

2021-07-11 02:26:23 字數 1778 閱讀 2447

id3是quinlan提出的乙個著名的決策樹生成方法。

一、id3的基本概念如下:

二、資訊增益

從資訊理論知識中我們直到,期望資訊越小,資訊增益越大,從而純度越高。所以id3演算法的核心思想就是以資訊增益度量屬性選擇,選擇**後資訊增益最大的屬性進行**。下面先定義幾個要用到的概念。

設d為用類別對訓練元組進行的劃分,則d的熵(entropy)表示為:

其中pi表示第i個類別在整個訓練元組中出現的概率,可以用屬於此類別元素的數量除以訓練元組元素總數量作為估計。熵的實際意義表示是d中元組的類標號所需要的平均資訊量。

現在我們假設將訓練元組d按屬性a進行劃分,則a對d劃分的期望資訊為:

而資訊增益即為兩者的差值:

id3演算法就是在每次需要**時,計算每個屬性的增益率,然後選擇增益率最大的屬性進行**。下面我們繼續用sns社群中不真實賬號檢測的例子說明如何使用id3演算法構造決策樹。為了簡單起見,我們假設訓練集合包含10個元素:

其中s、m和l分別表示小、中和大。

設l、f、h和r表示日誌密度、好友密度、是否使用真實頭像和賬號是否真實,下面計算各屬性的資訊增益。

故因此日誌密度的資訊增益是0.276。

用同樣方法得到h和f的資訊增益分別為0.033和0.553。

因為f具有最大的資訊增益,所以第一次**選擇f為**屬性,**後的結果如下圖表示:

在上圖的基礎上,再遞迴使用這個方法計算子節點的**屬性,最終就可以得到整個決策樹。

上面為了簡便,將特徵屬性離散化了,其實日誌密度和好友密度都是連續的屬性。對於特徵屬性為連續值,可以如此使用id3演算法:

先將d中元素按照特徵屬性排序,則每兩個相鄰元素的中間點可以看做潛在**點,從第乙個潛在**點開始,**d並計算兩個集合的期望資訊,具有最小期望資訊的點稱為這個屬性的最佳**點,其資訊期望作為此屬性的資訊期望。

id3演算法存在乙個問題,就是偏向於多值屬性,例如,如果存在唯一標識屬性id,則id3會選擇它作為**屬性,這樣雖然使得劃分充分純淨,但這種劃分對分類幾乎毫無用處。id3的後繼演算法c4.5使用增益率(gain ratio)的資訊增益擴充,試圖克服這個偏倚。

c4.5演算法首先定義了「**資訊」,其定義可以表示成:

其中各符號意義與id3演算法相同,然後,增益被定義為:

c4.5選擇並不是選擇最大增益率的屬性作為**屬性,而是先從候選劃分屬性中找出資訊增益高於平均水平的屬性,再從中找到增益率最高的。這是因為,與資訊增益gain相反,gain_ratio傾向於少值的屬性。

其具體應用與id3類似,不再贅述。

在決策樹構造過程中可能會出現這種情況:所有屬性都作為**屬性用光了,但有的子集還不是純淨集,即集合內的元素不屬於同一類別。在這種情況下,由於沒有更多資訊可以使用了,一般對這些子集進行「多數表決」,即使用此子集中出現次數最多的類別作為此節點類別,然後將此節點作為葉子節點。

在實際構造決策樹時,通常要進行剪枝,這時為了處理由於資料中的雜訊和離群點導致的過分擬合問題。剪枝有兩種:

先剪枝——在構造過程中,當某個節點滿足剪枝條件,則直接停止此分支的構造。

後剪枝——先構造完成完整的決策樹,再通過某些條件遍歷樹進行剪枝。

決策樹ID3和C4 5的區別

主要描述裡id3和c4.5的區別和改進,c4.5的優缺點,以及資訊增益與資訊增益比的計算方法 id3使用資訊增益作為特徵選擇的度量 c4.5使用資訊增益比作為特徵選擇的度量 資訊增益 g d,a h d h d a g d,a h d h d a h d h d 是資料集d的熵,計算公式h d kk...

ML筆記 決策樹ID3和C4 5演算法的異同

決策樹作為監督學習演算法的經典,在商業上 如 電信客戶流失 等 具有廣泛的應用,常見的決策樹演算法有 id3 c4.5 c5.0等,其中id3演算法是基礎,另兩種為改進演算法,c5.0又作為一種商業軟體而存在,但我們可以呼叫r中的c50包實現該演算法,本文主要介紹id3 c4.5演算法的異同。資訊增...

決策樹 ID3演算法

id3演算法通過計算每個屬性的資訊增益,認為資訊增益越大屬性越優,每次劃分選取資訊增益最大的屬性為劃分標準,重複這個過程,直到構成一棵決策樹。資訊熵是描述事件給我們的驚訝程度,如果所有事件的概率均等,那熵值大,驚訝程度低。如果有一事件的概率極高而其他極低,熵值便低,驚訝程度大。其計算公式如下 資訊增...