1. 程式人生 > >決策樹構建

決策樹構建

選擇 變量 question mage 預測 id3 算法 特征選擇 pan

信息熵:

生活中的所見所聞,都接觸到許許多多的信息,有的信息對我們有用,有的無用。如 “地球是自轉的”,這條信息對我們沒什麽用,因為我們都知道,而且是確確實實是這樣的。香農用信息熵的概念來描述信源的不確定度,變量的不確定性越大,熵也就越大。

在某個事件中,如果不發生的概率為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算法:
C4.5是ID3的一個改進算法。 使用信息增益率(Gain-ratio)選擇屬性; 1. 在樹構造過程中進行剪枝; 2. 對連續屬性離散化處理; 3. 對不完整數據進行處理; 優點:易於理解,準確率高; 缺點:構造過程中對數據集獨處順序掃描排序,至算法效率低。內存足夠容納數據。

示例: 通過信息增益構建分類決策樹

技術分享圖片

其中,Gender,Education,MarStatus,City 為分類特征,IsPay 為結果。IsPay 中, “no” 個數為9,“yes” 個數為11。

即概率 p(Ispay = no) = 9 / 20 , p(Ispay = yes) = 11 / 20

, 套用信息熵公式,計算 IsPay 的信息熵。

技術分享圖片

結果為: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

決策樹構建