【機器學習】決策樹(三)——生成演算法(ID3、C4.5與CRAT)
回顧
前面我們介紹了決策樹的特徵選擇,以及根據資訊增益構建決策樹。
那麼決策樹的生成又有哪些經典演算法呢?本篇將主要介紹ID3的生成演算法,然後介紹C4.5中的生成演算法。最後簡單介紹CRAT演算法。
ID3演算法
前面我們提到,一般而言,資訊增益越大,則意味著使用該屬性來進行劃分所獲得的“純度”提升就越大。因此,我們可以用資訊增益來進行決策樹的劃分屬性選擇。著名的ID3決策樹學習演算法就是以資訊增益為準則來劃屬性的。
ID3演算法流程
輸入:訓練資料集,特徵集,閥值
輸出:決策樹
(1)若中所屬例項屬於同一類,則T為單結點樹,並將類作為該結點的類標記,返回;
(2)若,則為單結點樹,並將中例項數最大的類作為該結點的類標記,返回;
(3)否則,按照計算中每個特徵對的資訊增益,選擇資訊增益最大的特徵;
(4)如果的資訊增益小於閥值,則置為單結點樹,並將中例項數最大的類作為該結點的類標記,返回;
(5)否則,對的每一種可能值,依將分割為若干非空子集,將中例項數最大的類作為標記,構建子結點,由結點及其子結點構成樹,返回;
(6)對第個子結點,以為訓練集,以為特徵集,遞迴呼叫步驟(1)~(5),得到子樹,返回;
ID3演算法的優缺點
- 優點:
決策樹構建速度快,容易構建
- 缺點:
計算依賴於特徵數目較多的特徵,而屬性值最多的屬性並不一定最優
ID3演算法不是遞增演算法
ID3演算法是單變數決策樹,對特徵屬性之間的關係不會考慮
抗噪性差
只適合小規模資料集,需要將資料放到記憶體中
容易產生過擬合
C4.5演算法
C4.5演算法與ID3演算法相似,C4.5演算法對ID3演算法進行了改進。C4.5在生成的過程中,用資訊增益比來選特徵。
資訊增益比
以資訊增益作為劃分訓練資料集的特徵,存在偏向於選擇取值較多的特徵的問題,使用資訊增益比可以對這一問題進行校正。這是特徵選擇的另一準則。
定義:特徵對訓練資料集的資訊增益比定義為其資訊增益與訓練資料集關於特徵的值的熵之比,即:
其中: