- 什么是決策樹/判定樹(decision tree)?
判定樹是一個類似于流程圖的樹結(jié)構(gòu):其中,每個內(nèi)部結(jié)點表示在一個屬性上的測試,每個分支代表一個屬性輸出,而每個樹葉結(jié)點代表類或類分布。樹的最頂層是根結(jié)點。
- 機(jī)器學(xué)習(xí)中分類方法中的一個重要算法
3.1 熵(entropy)概念:
信息和抽象,如何度量?
1948年,香農(nóng)提出了 ”信息熵(entropy)“的概念
一條信息的信息量大小和它的不確定性有直接的關(guān)系,要搞清楚一件非常非常不確定的事情,或者是我們一無所知的事情,需要了解大量信息==>信息量的度量就等于不確定性的多少例子:猜世界杯冠軍,假如一無所知,猜多少次?每個隊奪冠的幾率不是相等的比特(bit)來衡量信息的多少
變量的不確定性越大,熵也就越大
3.1 決策樹歸納算法 (ID3)
1970-1980, J.Ross. Quinlan, ID3算法選擇屬性判斷結(jié)點信息獲取量(Information Gain):Gain(A) = Info(D) - Infor_A(D)通過A來作為節(jié)點分類獲取了多少信息
類似,Gain(income) = 0.029, Gain(student) = 0.151, Gain(credit_rating)=0.048
所以,選擇age作為第一個根節(jié)點
算法:
1、樹以代表訓(xùn)練樣本的單個結(jié)點開始(步驟1)。
2、如果樣本都在同一個類,則該結(jié)點成為樹葉,并用該類標(biāo)號(步驟2 和3)。
3、 否則,算法使用稱為信息增益的基于熵的度量作為啟發(fā)信息,選擇能夠最好地將樣本分類的屬性(步驟6)。該屬性成為該結(jié)點的“測試”或“判定”屬性(步驟7)。在算法的該版本中,
4、所有的屬性都是分類的,即離散值。連續(xù)屬性必須離散化。
5、對測試屬性的每個已知的值,創(chuàng)建一個分枝,并據(jù)此劃分樣本(步驟8-10)。
6、算法使用同樣的過程,遞歸地形成每個劃分上的樣本判定樹。一旦一個屬性出現(xiàn)在一個結(jié)點上,就不必該結(jié)點的任何后代上考慮它(步驟13)。
7、遞歸劃分步驟僅當(dāng)下列條件之一成立停止:
(a) 給定結(jié)點的所有樣本屬于同一類(步驟2 和3)。
(b) 沒有剩余屬性可以用來進(jìn)一步劃分樣本(步驟4)。在此情況下,使用多數(shù)表決(步驟5)。
8、這涉及將給定的結(jié)點轉(zhuǎn)換成樹葉,并用樣本中的多數(shù)所在的類標(biāo)記它。替換地,可以存放結(jié)
9、點樣本的類分布。
(c) 分枝
test_attribute=ai沒有樣本(步驟11)。在這種情況下,以samples中的多數(shù)類創(chuàng)建一個樹葉(步驟12)
3.1 其他算法:
C4.5: Quinlan
Classification and Regression Trees (CART): (L. Breiman, J. Friedman, R. Olshen, C. Stone)
共同點:都是貪心算法,自上而下(Top-down approach)
區(qū)別:屬性選擇度量方法不同: C4.5 (gain ratio), CART(gini index), ID3 (Information Gain)
3.2 如何處理連續(xù)性變量的屬性?
樹剪枝葉 (避免overfitting)
4.1 先剪枝
4.2 后剪枝決策樹的優(yōu)點:
直觀,便于理解,小規(guī)模數(shù)據(jù)集有效決策樹的缺點:
處理連續(xù)變量不好
類別較多時,錯誤增加的比較快
可規(guī)模性一般(