決策樹演算法 ID3 C4 5和CART

2021-08-21 17:25:23 字數 1863 閱讀 8562

線性模型與決策樹模型的對比:

線性模型是將所有的特徵轉變為概率,並對所有的特徵加權求和,從而對模型進行分類,只能找到線性分割,而決策樹模型是乙個乙個特徵的進行處理,對每乙個特徵進行劃分,可以找到非線性分割;

id3演算法是一種貪心演算法,用來構建決策樹,id3起源於概念學習系統,以資訊熵的下降速度為選取測試屬性的標準;即在每個節點擊取還尚未被用來劃分的具有最高資訊增益的屬性作為劃分標準,然後繼續這個過程,直到生成的決策樹能完美分類訓練樣例。

要了解資訊增益,需要先了解資訊熵的概念。

熵(entropy):熱力學中表徵物質狀態的參量之一,其物理意義是體系混亂程度的度量;

資訊熵(information entropy):是度量樣本集合純度最常用的一種指標;

假定當前樣本集合d中第k類樣本所佔的比例為pk(k=1,2,3,…,|n|),則d的資訊熵為:

ent(d)的值越小,則樣本集合d的純度越高。

資訊增益

假定離散屬性a有n種可能取值(1~n),則a的資訊熵為ent(d),以屬性a對樣本集合d進行劃分,則會產生n個節點:

其中第m個分支節點(1<=m<=n),包含樣本集合d中所有在屬性a上取值為am的樣本,記做dm,不同的分支節點包含的樣本數不同,給分支節點賦予權重|dm|/|d|,由此可知,樣本數越多,dm越大,分支節點的影響越大。離散屬性a對樣本集合d進行劃分的資訊增益(information gain)為:

為便於記憶,以下二分類資料計算資訊增益:

屬性alabel

atrue

btrue

afalse

bfalse

afalse

這裡一共有5條資料,屬性a有a,b兩類,目標label有true和false兩類;下面開始計算label的資訊熵;其中true有2個,false有3個:

再計算屬性a的資訊熵,屬性a有a,b兩個屬性,且a有3個,其中乙個是true,兩個是false,而b有2個,乙個true,乙個false,這裡先計算a中a對label的資訊熵為:

同理得b對label的資訊熵為:

則a對label的資訊增益為:

缺點:單純使用資訊增益作為劃分標準會導致結果不具有泛化性,例如上面若存在乙個b屬性的值為1、2、3、4、5,可以計算b對d的資訊增益是極大的,但卻不能很好的進行分類;此外,id3採用資訊增益來選擇劃分屬性,對可取值數目較多的屬性有所偏好,容易構建龐大的寬且淺的決策樹。

c4.5演算法

為避免id3中提到的資訊增益的缺點,在id3的基礎上,為減少資訊增益偏好帶來的不利影響,提出了增益率的概念,定義如下:

iv(a)是屬性a的固有值,屬性a可能的取值數目越多,則iv(a)越大;

增益率對取值數目較少的屬性有所偏好,因此,c4.5演算法不直接選擇增益率最大的候選劃分屬性,而是使用乙個啟發式方法,先從候選劃分屬性中找到資訊增益高於平均水平的屬性,再從中選擇增益率最高的;

cart – 分類回歸樹決策演算法

與id3採用資訊增益作為屬性劃分標準,c4.5採用資訊增益大於平均水平的屬性中選擇增益率最大的屬性不同,cart採用gini指數作為劃分屬性的選擇標準;

基尼指數(gini index)是度量樣本集合純度最常用的一種指標,反映了從樣本集合d中隨機抽取兩個樣本,其類別標記不一致的概率為:

gini(d)的值越小,則樣本集合d的純度越高;

針對屬性a的基尼指數

gini_index(d,a)的值越小,以屬性a進行劃分越優(這裡指的是分類是時候,cart做回歸**時,將採用另一種指標);

還是以上面的資料集為例,計算gini_index(d,a);

先計算a類的基尼指數:

接著計算b類的基尼指數:

那麼,

決策樹模型ID3 C4 5演算法比較

兩者都是決策樹學習的經典演算法 一.id3演算法 id3由ross quinlan在1986年提出。id3決策樹可以有多個分支,但是不能處理特徵值為連續的情況。決策樹是一種貪心演算法,每次選取的分割資料的特徵都是當前的最佳選擇,並不關心是否達到最優。在id3中,每次根據 最大資訊熵增益 選取當前最佳...

機器學習 決策樹 ID3, C4 5

概念 決策樹 節點間的組織方式像一棵倒樹,以attribute 為節點,以 attribute 的不同值為分支。重點概念 1.資訊熵 熵是無序性 或不確定性 的度量指標。假如事件a 的全概率劃分是 a1,a2,an 每部分發生的概率是 p1,p2,pn 那資訊熵定義為 通常以 2為底數,所以資訊熵的...

機器學習 決策樹(ID3,C4 5)演算法解析

機器學習 決策樹 id3,c4.5 演算法解析 label 機器學習 決策樹 解析 決策樹實現思路 假設有已知的資料集x 例如某些人的集合,資料內容包括用於描述他們的特徵屬性及特徵屬性值,如性別 男 女 年齡 整數 收入 較低 中等 較高 等 以及資料集的分類標籤y 是否是某俱樂部的成員 是 否 對...