日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

决策树构建算法之—C4.5

發(fā)布時間:2023/12/31 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 决策树构建算法之—C4.5 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

???? ? ?? 這個網(wǎng)站值得收藏一下,原文鏈接:http://shiyanjun.cn/archives/428.html

??????? 決策樹算法的優(yōu)越性在于:離散學(xué)習(xí)算法進行組合總可以表達任意復(fù)雜的布爾函數(shù),并不受數(shù)據(jù)集的限制即學(xué)習(xí)沒有飽和性,只是現(xiàn)實應(yīng)用受限于時間和計算能力,一般不能滿足不飽和性。

??? C4.5是機器學(xué)習(xí)算法中的另一個分類決策樹算法,它是基于ID3算法進行改進后的一種重要算法,相比于ID3算法,改進有如下幾個要點:

  • 用信息增益率來選擇屬性。ID3選擇屬性用的是子樹的信息增益,這里可以用很多方法來定義信息,ID3使用的是熵(entropy, 熵是一種不純度度量準則),也就是熵的變化值,而C4.5用的是信息增益率。
  • 在決策樹構(gòu)造過程中進行剪枝,因為某些具有很少元素的結(jié)點可能會使構(gòu)造的決策樹過適應(yīng)(Overfitting),如果不考慮這些結(jié)點可能會更好。
  • 對非離散數(shù)據(jù)也能處理。
  • 能夠?qū)Σ煌暾麛?shù)據(jù)進行處理。

???? 首先,說明一下如何計算信息增益率。
???? 熟悉了ID3算法后,已經(jīng)知道如何計算信息增益,計算公式如下所示(來自Wikipedia):
???????
???? 或者,用另一個更加直觀容易理解的公式計算:

  • 按照類標簽對訓(xùn)練數(shù)據(jù)集D的屬性集A進行劃分,得到信息熵:

?????????????????????????????

  • 按照屬性集A中每個屬性進行劃分,得到一組信息熵:

??????????????????????????

  • 計算信息增益

然后計算信息增益,即前者對后者做差,得到屬性集合A一組信息增益:
?????????????????????
這樣,信息增益就計算出來了。

  • 計算信息增益率

下面看,計算信息增益率的公式,如下所示(來自Wikipedia):
???????????????????
其中,IG表示信息增益,按照前面我們描述的過程來計算。而IV是我們現(xiàn)在需要計算的,它是一個用來考慮分裂信息的度量,分裂信息用來衡量屬性分 裂數(shù)據(jù)的廣度和均勻程序,計算公式如下所示(來自Wikipedia):
????
??? 簡化一下,看下面這個公式更加直觀:
????????????? ??這個是一般的計算公式............
??? 其中,V表示屬性集合A中的一個屬性的全部取值。

我們以一個很典型被引用過多次的訓(xùn)練數(shù)據(jù)集D為例,來說明C4.5算法如何計算信息增益并選擇決策結(jié)點。

?

上面的訓(xùn)練集有4個屬性,即屬性集合A={OUTLOOK, TEMPERATURE, HUMIDITY, WINDY};而類標簽有2個,即類標簽集合C={Yes, No},分別表示適合戶外運動和不適合戶外運動,其實是一個二分類問題。
我們已經(jīng)計算過信息增益,這里直接列出來,如下所示:
數(shù)據(jù)集D包含14個訓(xùn)練樣本,其中屬于類別“Yes”的有9個,屬于類別“No”的有5個,則計算其信息熵:

1 Info(D) = -9/14 * log2(9/14) - 5/14 * log2(5/14) = 0.940

下面對屬性集中每個屬性分別計算信息熵,如下所示:

1 Info(OUTLOOK) = 5/14 * [- 2/5 * log2(2/5) – 3/5 * log2(3/5)] + 4/14 * [ - 4/4 * log2(4/4) - 0/4 * log2(0/4)] + 5/14 * [ - 3/5 * log2(3/5) – 2/5 * log2(2/5)] = 0.694
2 Info(TEMPERATURE) = 4/14 * [- 2/4 * log2(2/4) – 2/4 * log2(2/4)] + 6/14 * [ - 4/6 * log2(4/6) - 2/6 * log2(2/6)] + 4/14 * [ - 3/4 * log2(3/4) – 1/4 * log2(1/4)] = 0.911
3 Info(HUMIDITY) = 7/14 * [- 3/7 * log2(3/7) – 4/7 * log2(4/7)] + 7/14 * [ - 6/7 * log2(6/7) - 1/7 * log2(1/7)] = 0.789
4 Info(WINDY) = 6/14 * [- 3/6 * log2(3/6) – 3/6 * log2(3/6)] + 8/14 * [ - 6/8 * log2(6/8) - 2/8 * log2(2/8)] = 0.892

根據(jù)上面的數(shù)據(jù),我們可以計算選擇第一個根結(jié)點所依賴的信息增益值,計算如下所示:

1 Gain(OUTLOOK) = Info(D) - Info(OUTLOOK) = 0.940 - 0.694 = 0.246
2 Gain(TEMPERATURE) = Info(D) - Info(TEMPERATURE) = 0.940 - 0.911 = 0.029
3 Gain(HUMIDITY) = Info(D) - Info(HUMIDITY) = 0.940 - 0.789 = 0.151
4 Gain(WINDY) = Info(D) - Info(WINDY) = 0.940 - 0.892 = 0.048

接下來,我們計算分裂信息度量H(V):

  • OUTLOOK屬性

屬性O(shè)UTLOOK有3個取值,其中Sunny有5個樣本、Rainy有5個樣本、Overcast有4個樣本,則

1 H(OUTLOOK) = - 5/14 * log2(5/14) - 5/14 * log2(5/14) - 4/14 * log2(4/14) = 1.577406282852345
  • TEMPERATURE屬性

屬性TEMPERATURE有3個取值,其中Hot有4個樣本、Mild有6個樣本、Cool有4個樣本,則

1 H(TEMPERATURE) = - 4/14 * log2(4/14) - 6/14 * log2(6/14) - 4/14 * log2(4/14) = 1.5566567074628228
  • HUMIDITY屬性

屬性HUMIDITY有2個取值,其中Normal有7個樣本、High有7個樣本,則

1 H(HUMIDITY) = - 7/14 * log2(7/14) - 7/14 * log2(7/14) = 1.0
  • WINDY屬性

屬性WINDY有2個取值,其中True有6個樣本、False有8個樣本,則

1 H(WINDY) = - 6/14 * log2(6/14) - 8/14 * log2(8/14) = 0.9852281360342516

根據(jù)上面計算結(jié)果,我們可以計算信息增益率,如下所示:

1 IGR(OUTLOOK) = Info(OUTLOOK) / H(OUTLOOK) = 0.246/1.577406282852345 = 0.15595221261270145
2 IGR(TEMPERATURE) = Info(TEMPERATURE) / H(TEMPERATURE) = 0.029 / 1.5566567074628228 = 0.018629669509642094
3 IGR(HUMIDITY) = Info(HUMIDITY) / H(HUMIDITY) = 0.151/1.0 = 0.151
4 IGR(WINDY) = Info(WINDY) / H(WINDY) = 0.048/0.9852281360342516 = 0.048719680492692784

根據(jù)計算得到的信息增益率進行選擇屬性集中的屬性作為決策樹結(jié)點,對該結(jié)點進行分裂。

C4.5算法的優(yōu)點是:產(chǎn)生的分類規(guī)則易于理解,準確率較高。
C4.5算法的缺點是:在構(gòu)造樹的過程中,需要對數(shù)據(jù)集進行多次的順序掃描和排序,因而導(dǎo)致算法的低效。


總結(jié)

以上是生活随笔為你收集整理的决策树构建算法之—C4.5的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。