小白學資料,只為記錄學習程序,對每個問題有新的理解會及時更正。
1.引入熵的概念:
計算集合中,所有資料的熵
d表示整個集合,pk表示第k類分類的資料所佔的比例,熵越大,表示集合d越混亂,越小表示集合越純。一般熵介於0,1之間。
2、引入條件熵
p(xi)表示屬性x,是xi屬性的資料所佔比列,entropy(y|xi)表示在屬性是xi的前提下,y的資訊熵
3、資訊增益
資訊增益 = 集合d的資訊熵 - 屬性x下的條件資訊熵
表示決策樹在屬性x下的資訊熵減少的程度
4、c3.0演算法
選擇資訊增益最大的屬性作為優先劃分的屬性,選擇好劃分之後,再計算新的資訊增益,在選擇第二個屬性。。。。直到劃分結束。
但此方法,會傾向選擇劃分屬性較多的特徵,比如把每一條資料加上編號,這個編號如果作為劃分標準,則每乙個劃分集合只有乙個,則條件資訊熵為0,這時候資訊增益最大,但是這是沒有意義的劃分。所以我們引入了c4.5演算法
c3.0演算法缺點:
(1)、傾向選擇劃分屬性較多的特徵
(2)、不能處理連續值的情況
(3)、當屬性缺失的時候,沒法處理
5、c4.5演算法
基於c3.0的侷限性,引入資訊增益率:
gain(d,a)表示在屬性a的前提下,d的資訊增益,iv(a)表示,屬性a的熵,計算方法和entropy一樣。
這時候,當劃分屬性很多時候,iv(a)會變大,導致資訊增益率變小,所以,在選用c4.5演算法傾向選擇劃分屬性少的特徵。
在c4.5演算法選擇屬性的時候,先選擇資訊增益大於均值的特徵(保證了劃分的有效性),再在選出的特徵中選擇資訊增益率最大的特徵(避免了過多特徵帶來的無效劃分)。
當處理的屬性是連續的屬性的時候,先把值按照從小到大的順序排列,然後取相鄰兩個值的中值作為劃分點,再分別計算每個劃分點下的資訊增益,選擇資訊增益最大的那個劃分點,作為這個屬性的二分點。
c4.5演算法優點
(1)、解決了傾向於屬性較多的劃分
(2)、可以處理缺失值
1.當建立模型時候,怎麼確定這個屬性的資訊增益和增益率:(計算沒有缺失的比列 )* (沒有缺失值的資訊增益和資訊增益率)來當作資訊增益(率)
2.當屬性選取好了,樣本的屬性缺失:將樣本以不同概率分配到各個屬性中,概率更具其他未缺失的資料得出
3.當**資料的值缺失:遍歷缺失值底下的所有情況,選擇概率最大的值作為最後劃分。
(3)、可以處理連續值
(4)、可以進行剪枝
1、先剪枝:當目前的資料集中的樣本數量小於給定閾值,則不再**;當目前的資料集中的資訊熵小於給定閾值,則不再**;
2、後剪枝:先得到全部**的樹,再假設再某個節點不再**,通過計算是否**的錯誤率來決定是否剪枝,參考後剪枝判斷
6、cart演算法
cart採用基尼係數來當作選擇劃分屬性的標準:
在屬性a的前提下,基尼係數為:
因為基尼係數沒有採用相減這個操作,所以,選用基尼係數小的特徵來當作劃分特徵。同時,基尼係數產生的樹是二叉樹,不是多叉樹。
當處理的屬性是連續的屬性的時候,先把值按照從小到大的順序排列,然後取相鄰兩個值的中值作為劃分點,再分別計算每個劃分點下的基尼係數,選擇基尼係數最小的那個劃分點,作為這個屬性的二分點。
資料探勘 C4 5演算法
c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。該演算法是有監督學習型別的。計算公式 樣本資料 outlook temperature humidity windy playgolf?sunny 8585 false nosunny 8090 true noovercast...
資料探勘入門演算法C4 5
c4.5是在id3演算法的基礎上發展而來的,是對id3演算法的一種優化。其採用資訊增益率作為選擇 屬性的標準,而id3是以資訊增益為標準。這是根本的不同之處,也是優化所在。c4.5相對於id3的改進包括 通過資訊增益率選擇 屬性,克服了id3演算法中通過資訊增益傾向於選擇擁有多個屬性值的屬性作為 屬...
資料探勘學習筆記(二)C4 5
一 概念 c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。是有監督學習型別的演算法,即 給定乙個資料集,所有例項都用一組屬性 引數來描述,每個例項都僅屬於乙個類別,通過在給定資料集上學習得到乙個從屬性到類別的對映,進 而可以利用這個對映來分類新的未知例項。二 演算法過程 首...