決策樹(Decision Tree)是在已知各類狀況發生機率的基礎上,經過構成決策樹來求取淨現值的指望值大於等於零的機率,評價項目風險,判斷其可行性的決策分析方法,是直觀運用機率分析的一種圖解法。因爲這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。在機器學習中,決策樹是一個預測模型,他表明的是對象屬性與對象值之間的一種映射關係。Entropy = 系統的凌亂程度,使用算法ID3, C4.5和C5.0生成樹算法使用熵。算法
決策樹學習採用的是自頂向下的遞歸方法, 其基本思想是以信息熵爲度量構造一棵熵值降低最快的樹,到葉子節點處的熵值爲零, 此時每一個葉節點中的實例都屬於同一類微信
創建決策樹的關鍵,即在當前狀態下選擇哪一個屬性做爲分類依據。根據不一樣的目標函數,創建決策樹主要有如下三種算法。機器學習
ID3 函數
C4.5 學習
CARTui
I決策樹學習的關鍵其實就是選擇最優劃分屬性,但願劃分後,分支結點的「純度」愈來愈高。那麼「純度」的度量方法不一樣,也就致使了學習算法的不一樣,這裏咱們講解最多見的倆種算法,ID3算法與C4.5算法和CART。對象
在咱們的ID3算法中,咱們採起信息增益這個量來做爲純度的度量。遞歸
咱們選取使得信息增益最大的特徵進行分裂!那麼信息增益又是什麼概念呢?ci
信息熵是表明隨機變量的複雜度(不肯定度),條件熵表明在某一個條件下,隨機變量的複雜度(不肯定度)。io
而咱們這裏說的的信息增益剛好是:信息熵-條件熵。
咱們看以下定義:
當前樣本集合D 中第 k 類樣本所佔的比例爲 pk(k實際上是下標,微信很差打),則 D 的信息熵定義爲
離散屬性a 有 V 個可能的取值 {a1,a2,…,aV};樣本集合中,屬性 a 上取值爲 av 的樣本集合,記爲 Dv。
用屬性a 對樣本集 D 進行劃分所得到的「信息增益」
此次咱們每次進行選取特徵屬性的時候,再也不使用ID3算法的信息增益,而是使用了信息增益率這個概念。
首先咱們來看信息增益率的公式:
由上圖咱們能夠看出,信息增益率=信息增益/IV(a),說明信息增益率是信息增益除了一個屬性a的固有值得來的。
咱們一開始分析到,信息增益準則實際上是對可取值數目較多的屬性有所偏好!(好比上面提到的編號,若是選取編號屬性,每個子節點只有一個實例,可取值數目是最多,並且子節點純度最高《只有一個類別》,致使信息增益最大,因此咱們會傾向於選他,可是已經分析了這種樹是不具有泛化能力的)。
可是剛剛咱們分析到了,信息增益並非一個很好的特徵選擇度量。因而咱們引出了信息增益率。
咱們來看IV(a)的公式:
屬性a的固有值:
IV(觸感) = 0.874 ( V = 2 )
IV(色澤) = 1.580 ( V = 3 )
IV(編號) = 4.088 ( V = 17 )
由上面的計算例子,能夠看出IV(a)其實可以反映出,當選取該屬性,分紅的V類別數越大,IV(a)就越大,若是僅僅只用信息增益來選擇屬性的話,那麼咱們偏向於選擇分紅子節點類別大的那個特徵。
可是在前面分析了,並非很好,因此咱們須要除以一個屬性的固定值,這個值要求隨着分紅的類別數越大而越小。因而讓它作了分母。
這樣能夠避免信息增益的缺點。
由於一開始我僅僅用信息增益做爲個人選擇目標,可是會出現「編號」這些使得類別數目多的屬性選擇,可是又不具備泛化能力,因此我給他除以一個值(這個值)隨着你分的類別越多,我就越大,必定程度上緩解了信息增益的缺點
那麼信息增益率就是完美無瑕的嗎?
固然不是,有了這個分母以後,咱們能夠看到增益率準則其實對可取類別數目較少的特徵有所偏好!
畢竟分母越小,總體越大。
因此C4.5算法不直接選擇增益率最大的候選劃分屬性,候選劃分屬性中找出信息增益高於平均水平的屬性(這樣保證了大部分好的的特徵),再從中選擇增益率最高的(又保證了不會出現編號特徵這種極端的狀況)