第六週作業報告

第六週作業報告


1、CART算法

GINI指數:
  • 是一種不等性度量;
  • 通常用來度量收入不平衡,可以用來度量任何不均勻分佈;
  • 是介於0~1之間的數,0-完全相等,1-完全不相等;
  • 總體內包含的類別越雜亂,GINI指數就越大
  • 對於一個數據集T,其Gini計算方式爲

gini(T)=1j=1np2j
  • 進而引出Ginigain
    Ginis(T)=i=1nNiNgini(Ti)

    其中i表示特徵第i個取值
CART分析步驟
  • 從根節點t=1開始,從所有可能候選S集合中搜索使不純性降低最大的劃分S*,然後,使用劃分S*將節點1(t=1)劃分成兩個節點t=2和t=3
  • 在t=2和t=3上分別重複劃分搜索過程。
基尼不純度指標
  • 在CART算法中,
    基尼不純度表示一個隨機選中的樣本在子集中被分錯的可能性。基尼不純度爲這個樣本被選中的概率乘以它被分錯的概率。當一個節點中所有樣本都是一個類時,基尼不純度爲零。

2、ID3,C4.5

信息熵:

在概率論中,信息熵給了我們一種度量不確定性的方式,是用來衡量隨機變量不確定性的,熵就是信息的期望值。若待分類的事物可能劃分在N類中,分別是x1,x2,……,xn,每一種取到的概率分別是P1,P2,……,Pn,那麼X的熵就定義爲:

H(X)=i=1npilogpi

條件熵:

假設有隨機變量(X,Y),其聯合概率分佈爲:P(X=xi,Y=yi)=pij,i=1,2,⋯,n;j=1,2,⋯,m
則條件熵(H(Y∣X))表示在已知隨機變量X的條件下隨機變量Y的不確定性,其定義爲X在給定條件下Y的條件概率分佈的熵對X的數學期望:

H(Y|X)=i=1npiH(Y|X=xi)

信息增益:

表示得知特徵x的信息後是的y的不確定性減少的程度,定義爲:

g(D,A)=H(D)H(D|A)

ID3
可以歸納爲以下幾點:
1. 使用所有沒有使用的屬性並計算與之相關的樣本熵值
2. 選取其中熵值最小的屬性
3. 生成包含該屬性的節點

C4.5
ID3算法存在一個問題,就是偏向於多值屬性,例如,如果存在唯一標識屬性ID,則ID3會選擇它作爲分裂屬性,這樣雖然使得劃分充分純淨,但這種劃分對分類幾乎毫無用處。ID3的後繼算法C4.5使用增益率(gain ratio)的信息增益擴充,試圖克服這個偏倚。
C4.5首先定義了分裂信息,定義爲:

SplitInfoA(D)=i=1u|Dj||D|log2(|Dj||D|)

C4.5選擇具有最大增益率的屬性作爲分裂屬性,其具體應用與ID3類似

3、C5.0

C5.0算法是在C4.5算法的基礎上提出的

與C4.5區別

  1. 都是通過計算信息增益率來劃分結點,兩者的共同

  2. C5.0算法通過構造多個C4.5算法,是一種boosting算法。準確率更高

  3. C5.0算法運行速度快,可以出來例如,C4.5需要9個小時找到森林的規則集,但C5.0在73秒完成了任務。

  4. C5.0運行內存小。C4.5需要超過3 GB.(工作不會對早些時候完成32位系統),但C5.0需要少於200 mb。

  5. C5.0算法,可以人爲的加入客觀規則

  6. C5.0可以處理較大的數據集,特徵可以是:數字,時間,日期,名義字段

  7. C5.0可以加入懲罰項,(也就是第2條中boosting過程)


參考

數據挖掘十大經典算法–CART: 分類與迴歸樹
CART算法學習及實現
ID3java實現
機器學習經典算法詳解及Python實現–CART分類決策樹、迴歸樹和模型樹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章