決策樹構建
信息熵:
生活中的所見所聞,都接觸到許許多多的信息,有的信息對我們有用,有的無用。如 “地球是自轉的”,這條信息對我們沒什麽用,因為我們都知道,而且是確確實實是這樣的。香農用信息熵的概念來描述信源的不確定度,變量的不確定性越大,熵也就越大。
在某個事件中,如果不發生的概率為0,那麽可以確定信息熵為0,當發生的概率為1時,屬於確定性事件,同樣信息熵為0。只有當發生的概率為0.5 時,不確定程度則越大,熵也就越大。(如下圖,x軸為發生的概率,y軸為熵)
計算信息熵公式:(通常以2為對數底數)
其中 p(xi) 代表隨機事件X為 xi 的概率。
條件熵
信息增益:信息增益是特征選擇的一個重要指標,表示在某個條件下,信息不確定性的減少程度。
簡單來說:信息增益 = 信息熵 - 條件熵
信息增益率:信息增益率為信息增益與該特征的信息熵之比
決策樹的構建,是基於 ID3算法 或 C4.5算法。
ID3算法: 分類預測算法,算法的核心是“信息熵”。ID3算法使用信息增益(Info-Gain),期望信息越小,信息增益越大,從而純度越高,劃分越好。ID3算法通過計算每個屬性的信息增益,認為信息增益高的是好屬性,每次劃分選取信息增益最高的屬性為劃分標準,重復這個過程,直至生成一個能完美分類訓練樣例的決策樹。 1. 所有屬性必須為離散量; 2. 所有的訓練的所有屬性必須有一個明確的值; 3. 相同的因素必須得到結論且訓練例唯一; C4.5算法:
示例: 通過信息增益構建分類決策樹
其中,Gender,Education,MarStatus,City 為分類特征,IsPay 為結果。IsPay 中, “no” 個數為9,“yes” 個數為11。
即概率 p(Ispay = no) = 9 / 20 , p(Ispay = yes) = 11 / 20
結果為:E(IsPay) = 0.992774453987808
現在以性別為例,計算信息熵和信息增益:
男性的信息熵為:0.995727899051793
女性的信息熵為:0.863121148140382
該性別平均熵為:0.949315536232799
信息增益為:0.043458917755009
同樣方法,將 Education,MarStatus,City 都計算出來,結果如下:
可以看到,學歷 Education 的信息增益是最大的,數據集將以 Education 為條件,劃分到三個子集。樹型結構如下:
數據集如下:
可以看到 學歷為 “研究生” 的節點, Ispay 都為 “yes” ,純度很高,不需要再劃分了。即當學歷為研究生時,Ispay=‘yes’ 的概率為1。
數的第一層確定了,現在構建第二層,已學歷為大專為例。計算結果如下:
在這個層級節點中, City 的信息增益最大,接下來將以城市來劃分節點。
決策樹構建結果如下:
更多參考:
ch4.pdf-分類基本概念:決策樹和模型評估
數據挖掘十大經典算法--CART: 分類與回歸樹
機器學習之決策樹算法
信息熵:https://www.zhihu.com/question/22178202
條件熵:https://www.zhihu.com/question/22104055
信息增益:https://zhuanlan.zhihu.com/p/26551798
決策樹構建