一、決策樹基本概念
在機器學習中,決策樹是乙個**模型,它代表的是物件屬性與物件值之間的一種對映關係。本質上決策樹是通
過一系列規則對資料進行分類的過程。下圖為經典決策樹例項。
如圖所示,例項是由「屬性-值」對表示的:例項是用一系列固定的屬性和他們的值構成。
目標函式具有離散的輸出值:上圖給每個例項賦予乙個布林型分類(yes和no)。在實際的應用中,最後儲存在分
類中的其實是一堆一堆的樣本。
決策樹的優點:
1、推理過程容易理解,決策推理過程可以表示成if then形式;
2、可自動忽略目標變數沒有貢獻的屬性變數,也為判斷屬性
變數的重要性,減少變數的數目提供參考。
二、決策樹的本質
給定一堆樣本,每個樣本都有一組屬性和乙個類別,這些類別是事先確定的,那麼通過學習得到乙個分類器,這
個分類器能夠對新出現的物件給出正確的分類。
三、決策樹演算法
1、2023年, j.r. quinlan 給出id3演算法,並在2023年和2023年對id3 進行了總結和簡化,使其成為決策樹學習
演算法的典型。
2、schlimmer 和fisher 於2023年對id3進行改造,在每個可能的決策樹節點建立緩衝區,使決策樹可以遞增式
生成,得到id4演算法。
3、2023年,utgoff 在id4基礎上提出了id5學習演算法,進一步提高了效率。
4、2023年,quinlan 進一步發展了id3演算法,改進成c4.5演算法。
當然還有其他很多的演算法,我個人覺得最基本的依然是id3和c.4.5演算法。
id3 演算法:
id3演算法主要針對屬性選擇問題。是決策樹學習方法中最具影響和最為典型的演算法。為了衡量乙個屬性的好壞標 準,
定義了乙個統計屬性,稱為「資訊增益」。
該方法使用資訊增益度選擇測試屬性。
在介紹資訊增益之前,需要引入乙個資訊理論中的度量詞--資訊熵。
資訊量和資訊熵:
給定事件ai以及其概率p(ai),其資訊量可以如下表示:
為了精確的定義資訊增益,採用了資訊理論中廣泛使用的度量標準,稱為資訊熵。
假設有n個互不相容的事件 ,它們中有且僅有乙個發生,則其平均的資訊量可如下度量:
id3 –資訊增益:
在決策樹分類中,資訊增益表示的是由於使用這個屬性分割樣例而導致的期望熵的降低。
比如a=outlook屬性時,v屬於
上圖為經典打球案列的樣例集。
下面將會詳細講解具體是如何構建一顆決策樹的。
1 選出outlook, temperature, humidity,wind中資訊增益最大的屬性
該活動無法進行的概率是:5/14
該活動可以進行的概率是:9/14
因此樣本集s的資訊熵:
entropy(s) =-5/14log(5/14) - 9/14log(9/14) = 0.940
1.1 對於屬性outlook來說,
outlook =
sunny總共有
5個樣例,其中
[3-,2+]
。其資訊熵entropy(sunny)=
這樣,乙個決策樹就被構建出來了。
這是決策樹中最簡單的乙個演算法,後面還有很多改進的演算法。
1、二位決策樹的**面是什麼樣的?
2、什麼樣的屬性才能被用來做相關屬性?即相關屬性的選擇問題。
3、決策樹可以由前面的屬性推測出分類屬性,由屬性和分類屬性能否推出前面的某一屬性,比如,能否由outlook、humidity、temperature和playtennis推出wind的屬性值?
決策樹 ID3演算法
id3演算法通過計算每個屬性的資訊增益,認為資訊增益越大屬性越優,每次劃分選取資訊增益最大的屬性為劃分標準,重複這個過程,直到構成一棵決策樹。資訊熵是描述事件給我們的驚訝程度,如果所有事件的概率均等,那熵值大,驚訝程度低。如果有一事件的概率極高而其他極低,熵值便低,驚訝程度大。其計算公式如下 資訊增...
決策樹ID3演算法
typeerror dict keys object does not support indexing 9.typeerror dict keys object does not support indexing 這個問題是python版本的問題 如果使用的是python2 firststr my...
決策樹 ID3演算法
id3演算法也叫決策樹歸納演算法,不是很使用,但是是決策樹演算法的開山之作,這裡簡單說下 在資訊理論中,熵 entropy 是隨機變數不確定性的度量,也就是熵越大,則隨機變數的不確定性越大。設x是乙個取有限個值得離散隨機變數,其概率分布為 則隨機變數x的熵定義為 設有隨機變數 x,y 其聯合概率分布...