資料探勘入門演算法C4 5

2021-08-20 20:41:28 字數 2231 閱讀 7296

c4.5是在id3演算法的基礎上發展而來的,是對id3演算法的一種優化。其採用資訊增益率作為選擇**屬性的標準,而id3是以資訊增益為標準。這是根本的不同之處,也是優化所在。

c4.5相對於id3的改進包括:

①通過資訊增益率選擇**屬性,克服了id3演算法中通過資訊增益傾向於選擇擁有多個屬性值的屬性作為**屬性的不足; 

②能夠處理連續型資料,克服了id3演算法只能處理離散型資料的不足;

③在構造決策樹的過程中增加了剪枝操作,提高演算法的效率;

④能夠處理缺失值。

以下內容**:

首先,c4.5是決策樹演算法的一種。決策樹演算法作為一種分類演算法,目標就是將具有p維特徵的n個樣本分到c個類別中去。相當於做乙個投影,c=f(n),將樣本經過一種變換賦予一種類別標籤。決策樹為了達到這一目的,可以把分類的過程表示成一棵樹,每次通過選擇乙個特徵pi來進行分叉。

那麼怎樣選擇分叉的特徵呢?每一次分叉選擇哪個特徵對樣本進行劃分可以最快最準確的對樣本分類呢?不同的決策樹演算法有著不同的特徵選擇方案。id3用資訊增益,c4.5用資訊增益率,cart用gini係數。

下面主要針對c4.5演算法,我們用乙個例子來計算一下。

上述資料集有四個屬性,屬性集合a=, 類別標籤有兩個,類別集合l=。

1. 計算類別資訊熵

類別資訊熵表示的是所有樣本中各種類別出現的不確定性之和。根據熵的概念,熵越大,不確定性就越大,把事情搞清楚所需要的資訊量就越多。

2. 計算每個屬性的資訊熵

每個屬性的資訊熵相當於一種條件熵。他表示的是在某種屬性的條件下,各種類別出現的不確定性之和。屬性的資訊熵越大,表示這個屬性中擁有的樣本類別越不「純」。

3. 計算資訊增益資訊增益的 = 熵 - 條件熵,在這裡就是 類別資訊熵 - 屬性資訊熵,它表示的是資訊不確定性減少的程度。如果乙個屬性的資訊增益越大,就表示用這個屬性進行樣本劃分可以更好的減少劃分後樣本的不確定性,當然,選擇該屬性就可以更快更好地完成我們的分類目標。

資訊增益就是id3演算法的特徵選擇指標。

但是我們假設這樣的情況,每個屬性中每種類別都只有乙個樣本,那這樣屬性資訊熵就等於零,根據資訊增益就無法選擇出有效分類特徵。所以,c4.5選擇使用資訊增益率對id3進行改進。

4.計算屬性**資訊度量

用**資訊度量來考慮某種屬性進行**時分支的數量資訊和尺寸資訊,我們把這些資訊稱為屬性的內在資訊(instrisic information)。資訊增益率用資訊增益 / 內在資訊,會導致屬性的重要性隨著內在資訊的增大而減小(也就是說,如果這個屬性本身不確定性就很大,那我就越不傾向於選取它),這樣算是對單純用資訊增益有所補償。

5. 計算資訊增益率

(下面寫錯了。。應該是igr = gain / h )

天氣的資訊增益率最高,選擇天氣為**屬性。發現**了之後,天氣是「陰」的條件下,類別是」純「的,所以把它定義為葉子節點,選擇不「純」的結點繼續**。

在子結點當中重複過程1~5。

以天氣=「雨」的子結點為例:

1. 計算類別資訊熵

2. 計算每個屬性的資訊熵

3. 計算資訊增益

4.計算屬性**資訊度量

5. 計算資訊增益率

(下面寫錯了。。應該是igr = gain / h )

風速屬性的資訊增益率最高,所以選擇風速作為**結點,**之後,發現子結點都是純的,因此子節點均為葉子節點,**結束。

至此,這個資料集上c4.5的計算過程就算完成了,一棵樹也構建出來了。

現在我們來總結一下c4.5的演算法流程:

資料探勘 C4 5演算法

c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。該演算法是有監督學習型別的。計算公式 樣本資料 outlook temperature humidity windy playgolf?sunny 8585 false nosunny 8090 true noovercast...

C4 5演算法(資料探勘經典分類演算法)

統計好樣本集s,屬性集a,分別求出屬性集中每個屬性的資訊增益率,選中增益率最大的屬性p,假設p總有n種情況的取值 連續變數要離散化 那麼分別統計好第i種情況時樣本集si和除去p的屬性集pi,生成相對應的子樹。主要重點有 資訊增益率的計算 事後剪枝使用悲觀錯誤率衡量 樹的建造 分治思想 等。1 讀取檔...

資料探勘學習筆記(二)C4 5

一 概念 c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。是有監督學習型別的演算法,即 給定乙個資料集,所有例項都用一組屬性 引數來描述,每個例項都僅屬於乙個類別,通過在給定資料集上學習得到乙個從屬性到類別的對映,進 而可以利用這個對映來分類新的未知例項。二 演算法過程 首...