資料探勘十大演算法(一) 決策樹分類C4 5演算法

2021-08-21 08:45:06 字數 2478 閱讀 1627

如下圖所示,為乙個待訓練的資料集/訓練集,表示乙個人具備年齡、收入、是否學生、信譽這4個屬性,待訓練的目標是這個人是否購買計算機。其中年齡、收入、是否學生、信譽被稱作描述屬性,是否購買計算機稱作類別屬性,即分為什麼類別。

為了理解什麼叫決策樹,我們直接跳到結果(利用上述資料集,得到的決策樹),決策樹如下圖:

這個決策樹的含義,類似於乙個程式判斷框圖,輸入乙個人的屬性值4元組:(年齡,收入,是否學生,信譽),就可以判斷這個人是否購買電腦。例如:

(>40,高,否,中)-------先根據年齡,進入》40那棵子樹,然後判斷信譽:「中」,因此**結果:這個人會購買電腦。

(<=30,中,是,中)-----先根據年齡,既進入<=30那棵子樹,然後判斷是否學生:「是」,因此**:這個人會購買電腦。

(30~40,中,否,優)----根據年齡,進入30~40那棵子樹,直接可以得到結果:這個人會購買電腦。

——————————————————————————————————————————

上面以舉例的方式,闡述了訓練集/資料集以及決策樹的概念和作用,那麼下面的問題是:如何根據訓練集得到決策樹呢?關鍵的問題是:如何決定決策樹的分支節點對應的屬性呢?

此處,通過對上述資料集的計算,闡述這4個資訊熵相關的概念。

無條件熵針對類別屬性而言,此例中,類別有「是」和「否」。共有14個例項,「是」有9個,「否」有5個。

記類別屬性為c,因此,定義類別屬性的無條件熵為:

其中log是以2對底的對數。   

條件熵針對類別屬性和某個描述屬性而言,例如針對屬性年齡而言,將年齡屬性記作a1,那麼年齡屬性可以取3個值,每個值對應的類別屬性情況為:

<=30----5個: 是:2,否:3

30~40---4個: 是:4,否:0

>40------5個: 是:3,否:2

因此,定義條件熵為:

資訊增益,針對某個描述屬性而言。例如,定義年齡的資訊增益為:

資訊增益比,針對某個描述屬性而言。例如,定義年齡的資訊增益比為:

其中s(a1)是根據年齡這個描述屬性值而言的,根據描述屬性,樣本被分為多少類別,每個類別的個體數為多少,情況如下:

<=30----5個 

30~40---4個

>40------5個

所以,s(a1)的定義如下:

決策樹構建的關鍵是,如何選擇樹的分支節點所對應的屬性。

id3演算法是根據資訊增益選擇的,哪個屬性的資訊增益最大,則作為這一層的分支節點的屬性。

c4.5演算法是根據資訊增益比選擇的,哪個屬性的資訊增益比最大,則作為這一層的分支節點的屬性。

第一層:

根據前面提到的資料集,計算各個描述屬性的資訊增益值,

年齡:g(c, a1) = e(c) - e(c, a1)

收入:g(c, a2) = e(c) - e(c, a2)

學生:g(c, a3) = e(c) - e(c, a3)

信譽:g(c, a4) = e(c) - e(c, a4)

e(c)都是相同的,因此可以只計算e(c, ai),看哪個屬性的e(c, ai)最小,那麼g(c, ai)就最大,這個屬性就應該作為該層的分支節點屬性。

e(c, a1) = 0.693536

e(c, a2) = 0.911063

e(c, a3) = 0.78845

e(c, a4) = 0.892159

其中e(c, a1)最小,即年齡的資訊增益最大,所以它作為第一層的分支屬性。

這是第一層,然後根據「年齡」屬性值的不同,將資料集拆分為3個資料集,再在每個資料集中做同樣的操作,知道每個子資料集中的所有個體同屬乙個類別為止。最終的決策樹,在前面已經給出,為:

1. id3演算法傾向於選擇定義域大的屬性作為分支節點的屬性,c4.5演算法利用資訊增益比來選擇屬性。

2. id3演算法只針對離散屬性,c4.5演算法增加了對連續屬性、屬性值空缺的處理。

十大演算法 決策樹

一 什麼是熵 假設符號xi的資訊定義為 則熵定義為資訊的期望值,為了計算熵,我們需要計算所有類別所有可能值包含的資訊期望值,計算方式如下 熵愈大,不穩定性愈高,即在決策樹中乙個樣本可選擇的分支會愈多。從公式來理解是 假如每個p xi 愈少,則i值愈大,即資訊量愈大,就是有可以有很多中分類。同時,h是...

資料探勘決策樹分類演算法簡介

決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值 的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路徑就對應著一條合取規則,整個決策樹就對應著一組析取表示式...

資料探勘決策樹分類演算法簡介

決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值 的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路徑就對應著一條合取規則,整個決策樹就對應著一組析取表示式...