1.1 决策树算法原理
1. 什么是決策樹/判定樹(decision tree)?
? ? ? ?判定樹是一個類似于流程圖的樹結構:其中,每個內部結點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結點代表類或類分布。樹的最頂層是根結點。
?
?
2. ?機器學習中分類方法中的一個重要算法
?
?
3. ?構造決策樹的基本算法 ? ?
?下圖是常見的一個決策樹圖,根據是年齡是否為youth , 身份是否為 student等,最后來預測是否購買電腦,
圖主要由根節點,分支,節點,樹葉來組成.
構成決策樹的原始數據
?
3.1?熵(entropy)概念:
? ? ? ?? 信息和抽象,如何度量?
? ? ? ? ? 1948年,香農提出了 ”信息熵(entropy)“的概念
? ? ? ? ? 一條信息的信息量大小和它的不確定性有直接的關系,要搞清楚一件非常非常不確定的事情,或者 ? ? ? ? ?
? ? ? ? ? 是我們一無所知的事情,需要了解大量信息==>信息量的度量就等于不確定性的多少? ? ? ? ??
? ? ? ? ? 例子:猜世界杯冠軍,假如一無所知,猜多少次?
? ? ? ? ? 每個隊奪冠的幾率不是相等的
? ? ? ? ? 比特(bit)來衡量信息的多少
變量的不確定性越大,熵也就越大
?
3.2?決策樹歸納算法 (ID3)
? ? ?1970-1980, J.Ross. Quinlan, ID3算法
? ? ?選擇屬性判斷結點
? ?? 信息獲取量(Information Gain):Gain(A) = Info(D) - Infor_A(D)
? ? ? 通過A來作為節點分類獲取了多少信息
? ? ?以這份數據為例:
以age為例,14行數據中, 有9行是購買電腦,5行是不購買電腦,那么
age的信息熵為 Info(D)
而年齡分為 youth, middle,senior,根據年齡類型劃分后信息熵為info_age(D)
那么年齡的信息獲取量為Gain(age)
?
類似,Gain(income) = 0.029, Gain(student) = 0.151, Gain(credit_rating)=0.048
此時Gain(age)值最大,所以選擇age作為第一個根節點
此時決策樹圖形為
以此類推,得到一個完整的決策樹
?
4. 決策樹的優點:
? ? ?直觀,便于理解,小規模數據集有效? ? ?
?
5. 決策樹的缺點:
? ? ?處理連續變量不好
? ? ?類別較多時,錯誤增加的比較快
? ? ?可規模性一般
?
?
總結
以上是生活随笔為你收集整理的1.1 决策树算法原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (3) 用java编译器实现一个简单的编
- 下一篇: 1.2 决策树代码实现