用年齡、收入、是否學生、信用度高低來判斷是否購買電腦為例子:
資訊:如果待分類的事物可能劃分在多個類之中,則符號xi的資訊定義為:
上例中,買電腦的概率為9/14,那麼yes的資訊為:
同理,no的資訊為:
資訊熵:即資訊期望值。公式如下:
即:在決策樹id3演算法中,選擇使用資訊獲取量(information gain)作為節點擊擇的依據,也叫類與特徵的互資訊(d與a的互資訊):
在上面我們已經求得了h(d)(即上面的info(d)),h(d|a)代表的是在a的情況下d的資訊熵。
例如例子中的h(buy computer | age),計算如下:
所以,g(buy computer, age) = 0.940-0.694 = 0.246 bits
類似的,可以求得income,student,credit_rating的資訊獲取量分別是:
g(buy computer,income) = 0.029 bits
g(buy computer,student) = 0.151 bits
g(buy computer, credit_rating) = 0.048 bits
去其中最大值作為根節點,即age作為分類根節點。
在選擇好根節點後,我們將訓練集按age劃分,並將age屬性從訓練集中剔除,得到以下三個列表:
我們按選擇根節點時計算資訊獲取量的方法,作用於每個分支的子資料集。從而可以選擇第二層的分類節點。
當資料中有連續型資料,例如age資料並不是youth、middle_aged、senior,而是具體的歲數。
我們需要將連續型資料進行預處理,將其進行閾值劃分,例如1-25為youth,26-50為middle_aged,51-100為senior。
如何避免overfitting:
當決策樹層數過多時,可能因為劃分太細而導致過擬合(overfitting),這是可以採取修建枝葉的方法來避免。
1.先剪枝:在生成決策樹的過程中,當類別佔比達到一定程度時不再往下細分。
2.後剪枝:在決策樹完全建立後,再根據一些規則來對枝葉進行修剪。
c4.5演算法。
cart演算法:classification and regression trees。
區別:屬性選擇度量方法不同,例如c4.5採用gain ratio,cart採用gini index,id3採用information gain。
優點:直觀,便於理解,小規模資料集有效。
缺點:處理連續變數不是很好,類別較多時,錯誤增加的比較快,可規模性一般。
機器學習(2) 決策樹
前言 決策樹是一種機器學習的方法。決策樹是一種樹形結構,其中每個內部節點表示乙個屬性上的判斷,每個分支代表乙個判斷結果的輸出,最後每個葉節點代表一種分類結果。決策樹需要監管學習。監管學習就是給出一堆樣本,每個樣本都有一組屬性和乙個分類結果,也就是分類結果已知,那麼通過學習這些樣本得到的決策樹,這個決...
機器學習演算法2 決策樹
本文總結於 machine learning in action 一書 一.決策樹的一般流程 1.收集資料 可以使用任何方法 2.準備資料 數構造演算法只適應於標稱型資料,因此數值型資料必須離散。3.分析資料 可以使用任何方法,構造樹完成之後,我們應該檢查圖形是否符合預期。4.訓練資料 構造樹的資料...
機器學習 筆記2 決策樹
參考資料 周志華機器學習書籍 和 datawhale開源資料 天池鏈結 決策樹基本流程 決策樹的組成內涵 決策樹的建立流程 注意區別屬性和類別 標籤 劃分選擇 如何選擇最優的劃分屬性,決定了每個結點包含的樣本的純度。書中給出了三種劃分方法。2.1 資訊增益 資訊熵 pk 表示當前樣本集合 d 中第 ...