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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

机器学习实战读书笔记(2)决策树

發(fā)布時(shí)間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习实战读书笔记(2)决策树 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
信息熵是什么? 1.?信息論之父 C. E. Shannon 在 1948 年發(fā)表的論文“通信的數(shù)學(xué)理論( A Mathematical Theory of Communication )”中, Shannon 指出,任何信息都存在冗余,冗余大小與信息中每個(gè)符號(hào)(數(shù)字、字母或單詞)的出現(xiàn)概率或者說(shuō)不確定性有關(guān)。 Shannon 借鑒了熱力學(xué)的概念,把信息中排除了冗余后的平均信息量稱為“信息熵”,并給出了計(jì)算信息熵的數(shù)學(xué)表達(dá)式。 2.生活實(shí)例: 賭馬比賽里,有4匹馬 ,獲勝概率分別為 。

?

R代表根節(jié)點(diǎn)

接下來(lái),讓我們將哪一匹馬獲勝視為一個(gè)隨機(jī)變量 。假定我們需要用盡可能少的二元問(wèn)題來(lái)確定隨機(jī)變量 的取值。

例如:問(wèn)題1:A獲勝了嗎?問(wèn)題2:B獲勝了嗎?問(wèn)題3:C獲勝了嗎?最后我們可以通過(guò)最多3個(gè)二元問(wèn)題,來(lái)確定 的取值,即哪一匹馬贏了比賽。

?

如果 ,那么需要問(wèn)1次(問(wèn)題1:是不是A?),概率為 ;

如果 ,那么需要問(wèn)2次(問(wèn)題1:是不是A?問(wèn)題2:是不是B?),概率為 ;

如果 ,那么需要問(wèn)3次(問(wèn)題1,問(wèn)題2,問(wèn)題3),概率為 ;

如果 ,那么同樣需要問(wèn)3次(問(wèn)題1,問(wèn)題2,問(wèn)題3),概率為 ;

?

那么很容易計(jì)算,在這種問(wèn)法下,為確定 取值的二元問(wèn)題數(shù)量為:

注意:1=log(2) ,2=log(4),3=log(8)

那么我們回到信息熵的定義,會(huì)發(fā)現(xiàn)通過(guò)之前的信息熵公式,神奇地得到了:

其中:log(2)=-log(1/2),log(4)=-log(1/4),log(8)=-log(1/8)?

Shannon公式:

?

================

3,一個(gè)例子:

================

任務(wù):

根據(jù)天氣預(yù)測(cè)否去打網(wǎng)球

數(shù)據(jù):

這個(gè)數(shù)據(jù)集來(lái)自Mitchell的機(jī)器學(xué)習(xí),叫做是否去打網(wǎng)球play-tennis,以下數(shù)據(jù)仍然是從帶逗號(hào)分割的文本文件,復(fù)制到紀(jì)事本,把后綴直接改為.csv就可以拿Excel打開:

*play-tennis data,其中6個(gè)變量依次為:編號(hào)、天氣{Sunny、Overcast、Rain}、溫度{熱、冷、適中}、濕度{高、正常}、風(fēng)力{強(qiáng)、弱}以及最后是否去玩的決策{是、否}。一個(gè)建議是把這些數(shù)據(jù)導(dǎo)入Excel后,另復(fù)制一份去掉變量的數(shù)據(jù)到另外一個(gè)工作簿,即只保留14個(gè)觀測(cè)值。這樣可以方便地使用Excel的排序功能,隨時(shí)查看每個(gè)變量的取值到底有多少。*/

NO. , Outlook , Temperature , Humidity , Wind , Play
1 , Sunny , Hot , High , Weak , No
2 , Sunny , Hot , High , Strong , No
3 , Overcast , Hot , High , Weak , Yes
4 , Rain , Mild , High , Weak , Yes
5 , Rain , Cool , Normal , Weak , Yes
6 , Rain , Cool , Normal , Strong , No
7 , Overcast , Cool , Normal , Strong , Yes
8 , Sunny , Mild , High , Weak , No
9 , Sunny , Cool , Normal , Weak , Yes
10 , Rain , Mild , Normal , Weak , Yes
11 , Sunny , Mild , Normal , Strong , Yes
12 , Overcast , Mild , High , Strong , Yes
13 , Overcast , Hot , Normal , Weak , Yes
14 , Rain , Mild , High , Strong , No

用決策樹來(lái)預(yù)測(cè):

決策樹的形式類似于“如果天氣怎么樣,去玩;否則,怎么著怎么著”的樹形分叉。那么問(wèn)題是用哪個(gè)屬性(即變量,如天氣、溫度、濕度和風(fēng)力)最適合充當(dāng)這顆樹的根節(jié)點(diǎn),在它上面沒(méi)有其他節(jié)點(diǎn),其他的屬性都是它的后續(xù)節(jié)點(diǎn)。

那么借用上面所述的能夠衡量一個(gè)屬性區(qū)分以上數(shù)據(jù)樣本的能力的“信息增益”(Information Gain)理論。

如果一個(gè)屬性的信息增益量越大,這個(gè)屬性作為一棵樹的根節(jié)點(diǎn)就能使這棵樹更簡(jiǎn)潔,比如說(shuō)一棵樹可以這么讀成,如果風(fēng)力弱,就去玩;風(fēng)力強(qiáng),再按天氣、溫度等分情況討論,此時(shí)用風(fēng)力作為這棵樹的根節(jié)點(diǎn)就很有價(jià)值。如果說(shuō),風(fēng)力弱,再又天氣晴朗,就去玩;如果風(fēng)力強(qiáng),再又怎么怎么分情況討論,這棵樹相比就不夠簡(jiǎn)潔了。

用熵來(lái)計(jì)算信息增益:

?

1 計(jì)算分類系統(tǒng)熵
類別是 是否出去玩。取值為yes的記錄有9個(gè),取值為no的有5個(gè),即說(shuō)這個(gè)樣本里有9個(gè)正例,5 個(gè)負(fù)例,記為S(9+,5-),S是樣本的意思(Sample)。那么P(c1) = 9/14, P(c2) = 5/14 這里熵記為Entropy(S),計(jì)算公式為: Entropy(S)= -(9/14)*log2(9/14)-(5/14)*log2(5/14)用Matlab做數(shù)學(xué)運(yùn)算 2 分別以Wind、Humidity、Outlook和Temperature作為根節(jié)點(diǎn),計(jì)算其信息增益

我們來(lái)計(jì)算Wind的信息增益 當(dāng)Wind固定為Weak時(shí):記錄有8條,其中正例6個(gè),負(fù)例2個(gè); 同樣,取值為Strong的記錄6個(gè),正例負(fù)例個(gè)3個(gè)。我們可以計(jì)算相應(yīng)的熵為: Entropy(Weak)=-(6/8)*log(6/8)-(2/8)*log(2/8)=0.811
Entropy(Strong)=-(3/6)*log(3/6)-(3/6)*log(3/6)=1.0
現(xiàn)在就可以計(jì)算出相應(yīng)的信息增益了: 所以,對(duì)于一個(gè)Wind屬性固定的分類系統(tǒng)的信息量為 (8/14)*Entropy(Weak)+(6/14)*Entropy(Strong) Gain(Wind)=Entropy(S)-(8/14)*Entropy(Weak)-(6/14)*Entropy(Strong)=0.940-(8/14)*0.811-(6/14)*1.0=0.048 這個(gè)公式的奧秘在于,8/14是屬性Wind取值為Weak的個(gè)數(shù)占總記錄的比例,同樣6/14是其取值為Strong的記錄個(gè)數(shù)與總記錄數(shù)之比。

同理,如果以Humidity作為根節(jié)點(diǎn):
Entropy(High)=0.985 ; Entropy(Normal)=0.592
Gain(Humidity)=0.940-(7/14)*Entropy(High)-(7/14)*Entropy(Normal)=0.151
以O(shè)utlook作為根節(jié)點(diǎn):
Entropy(Sunny)=0.971 ; Entropy(Overcast)=0.0 ; Entropy(Rain)=0.971
Gain(Outlook)=0.940-(5/14)*Entropy(Sunny)-(4/14)*Entropy(Overcast)-(5/14)*Entropy(Rain)=0.247
以Temperature作為根節(jié)點(diǎn):
Entropy(Cool)=0.811 ; Entropy(Hot)=1.0 ; Entropy(Mild)=0.918
Gain(Temperature)=0.940-(4/14)*Entropy(Cool)-(4/14)*Entropy(Hot)-(6/14)*Entropy(Mild)=0.029
這樣我們就得到了以上四個(gè)屬性相應(yīng)的信息增益值:
Gain(Wind)=0.048 ;Gain(Humidity)=0.151 ; Gain(Outlook)=0.247 ;Gain(Temperature)=0.029
最后按照信息增益最大的原則選Outlook為根節(jié)點(diǎn)。子節(jié)點(diǎn)重復(fù)上面的步驟。這顆樹可以是這樣的,它讀起來(lái)就跟你認(rèn)為的那樣:

通俗理解決策樹算法中的信息增益


https://zhuanlan.zhihu.com/p/26596036

轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/8604419.html

總結(jié)

以上是生活随笔為你收集整理的机器学习实战读书笔记(2)决策树的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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