1、決策樹直觀理解:
假設,已知10人房產、婚姻、年收入以及能否償還債務的樣本,那麼第11個人來,知其房產、婚姻、以及年收入情況,問他是否能償還債務?
2、前置知識:
理解決策樹,我們必須知道一下概念:
資訊熵:描述系統的不確定度,熵越高,代表系統越混亂,包含的資訊量也就越多,其公式:
例(計算前10個樣本能否還債y的資訊熵):-0.7log2(0.7)- 0.3log2(0.3)= 0.88
條件熵:給定條件x的情況下,所有不同x值情況下y的資訊熵的平均值叫做條件熵。
例(計算y能否還債相對於房產的條件熵):0.40 + 0.6[-0.5log2(0.5)]*2 = 0.6
3、解決問題
在明白了資訊熵和條件熵後,我們再來看之前的問題,我們會發現房產、婚姻以及能否還債均是離散值,而年收入一項是連續值,所以:
第一步:連續值的離散化,其方法很多,主要有:(要根據實際業務需求)
用kmeans演算法
計算均方差
計算該欄位相對於離散型**欄位的條件熵、條件基尼或者條件錯誤率等
這裡為了簡便,假設以100為界,大於等於它的為「高」收入,否則為「低」收入;
第二步:計算y相對於各個x的條件熵:
h(能否償債/房產) = l(能否償債/房產=有) * p(房產=有) + l(能否償債/房產=無) * p(房產=無)
=0 * 0.4 + [-0.5*log(0.5)*2]*0.6 = 0.6
h(能否償債/婚姻) = 1 * 0.4 + 0 * 0.3 + 0.9183 * 0.3 = 0.6755
h(能否償債/收入) = 0 * 0.5 + 0.9710 * 0.5 = 0.4855
熵小的,資訊增益必然大,所以id3中可以只看熵(越小越好)
按收入劃分
**第三步:**計算各個子結點中y相對於各個x的條件熵
所以右邊按婚姻劃分
第四步:最後按照唯一剩下的字段房產劃分
第五步:**
首先收入85小於100,所以為低收入,其次,婚姻狀況為單身,所以判定不能還債
機器學習演算法 決策樹
決策樹類似一中策略或者條件選擇,其中各個節點代表選擇條件,各個葉子結點代表可能達到的結果,決策樹 decision tree 是乙個樹結構 可以是二叉樹或非二叉樹 其每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值域上的輸出,而每個葉節點存放乙個類別。使用決策樹進行決策的過程就...
機器學習演算法 決策樹
決策樹的使用主要是用於分類。年齡收入 信用是否學生 是否買電腦年輕高 高是是中年 低中否否 老年中低否 是對於一些適合分類的資料中,考慮各種因素對結果的影響大小進行決策,一般是先選取區分度較高的因素。比如說,年齡大小這個因素在很大程度上影響我們的結果 是否買電腦。那麼,年齡因素將作為第乙個決策因素出...
機器學習 演算法 決策樹
決策樹是一種機器學習的方法。決策樹的生成演算法有id3,c4.5和cart等。決策樹是一種樹形結構,其中每個內部節點表示乙個屬性上的判斷,每個分支代表乙個判斷結果的輸出,最後每個葉節點代表一種分類結果。決策樹是一種十分常用的分類方法,需要監管學習 有教師的supervised learning 監管...