決策樹(shù)

算法思想

  • 從數(shù)據(jù)集中找到一個(gè)特征,這個(gè)特征在劃分?jǐn)?shù)據(jù)分類中起決定性作用.為了找到這個(gè)特征,就要評(píng)估每個(gè)特征,找到區(qū)分度對(duì)好的呢個(gè)特征,將數(shù)據(jù)集分開(kāi).
  • 劃分?jǐn)?shù)據(jù)集之前,之后信息發(fā)生的變化成為信息增益.每個(gè)特征劃分?jǐn)?shù)據(jù)獲取的信息增益,越大的,表示區(qū)分效果越好 信息增益(Information Gain)
  • 熵定義為信息的期望值. 越不確定的事件的信息熵越大,因?yàn)橐欢ǖ氖虑闆](méi)有信息量 (地球繞著太陽(yáng)轉(zhuǎn))

得了解的信息論基本概念

自信息量:一個(gè)事件(消息)本身所包含的信息量窄绒,由事件的不確定性決定的辅辩。
隨機(jī)事件Xi發(fā)生概率為P(xi)箩言,則隨機(jī)事件的自信息量定義為:

自信息量計(jì)算公式

信息熵(Entropy):隨機(jī)變量自信息量I(xi)的數(shù)學(xué)期望(平均自信息量)逻杖,用H(X)表示蓝纲,即為熵的定義:

信息熵計(jì)算公式

動(dòng)手實(shí)踐

2票同意,3票不同意

同意的占40%,不同意的占60%,此時(shí)信息熵是0.970
將一個(gè)同意改為不確定的時(shí)候
{yes:2,no:3} -> {yes:1,not sure:1,no:3}
同意的占20%,不確定的占20%,不同意的占60%,此時(shí)信息熵是1.370


劃分?jǐn)?shù)據(jù)集

通過(guò)計(jì)算信息熵,可以衡量數(shù)據(jù)的無(wú)序程度
現(xiàn)在要計(jì)算,通過(guò)每個(gè)特征值劃分后的數(shù)據(jù)集的信息熵,然后判斷那個(gè)特征劃分后的數(shù)據(jù)集
選取信息熵最大的特征值,這相當(dāng)于讓剩下是數(shù)據(jù)更具確定性

def chooseBestFeatureToSplit(dataSet):
    numFeatures = len(dataSet[0]) - 1
    baseEntropy = calcShannonEnt(dataSet)
    bestInfoGain = 0.0
    bestFeature = -1
    for i in range(numFeatures):
        featList = [example[i] for example in dataSet] # 每一列的值,即一個(gè)feature所有的數(shù)據(jù)
        print featList
        uniqueVals = set(featList)
        print uniqueVals
        newEntropy = 0.0
        for value in uniqueVals:
            subDataSet = splitDataSet(dataSet,i,value)
            print "subDataSet : %s" %  subDataSet
            prob = len(subDataSet)/float(len(dataSet))
            print "prob : %f" %  prob
            print "calcShannonEnt: %f" % calcShannonEnt(subDataSet)
            newEntropy += prob * calcShannonEnt(subDataSet)
            print "new entropy : %f" % newEntropy
        infoGain = baseEntropy - newEntropy
        print "infoGain : %f" % infoGain
        if (infoGain > bestInfoGain):
            bestInfoGain = infoGain
            bestFeature = i
    return bestFeature

動(dòng)手實(shí)現(xiàn)一遍

原始數(shù)據(jù)

Paste_Image.png

處理為屬性和標(biāo)簽的形式

Paste_Image.png

計(jì)算該矩陣對(duì)應(yīng)的基準(zhǔn)信息熵(Base Entropy) = 0.97

算法開(kāi)始

1.選取特征A

Paste_Image.png

2.選取特征B

Paste_Image.png

3.因?yàn)镮G(A) = 0.42 > IG(B) = 0.17,所以對(duì)數(shù)據(jù)集最具有區(qū)分度的特征為第0個(gè)特征A.以此為依據(jù)構(gòu)建決策樹(shù)

Paste_Image.png
決策樹(shù)最終狀態(tài)
Paste_Image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绘搞,一起剝皮案震驚了整個(gè)濱河市够委,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肃叶,老刑警劉巖忆首,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異被环,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)详幽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)筛欢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人唇聘,你說(shuō)我怎么就攤上這事版姑。” “怎么了迟郎?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵剥险,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我宪肖,道長(zhǎng)表制,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任控乾,我火速辦了婚禮么介,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜕衡。我一直安慰自己壤短,他們只是感情好慨仿,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著镰吆,像睡著了一般帘撰。 火紅的嫁衣襯著肌膚如雪万皿。 梳的紋絲不亂的頭發(fā)上相赁,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音钮科,去河邊找鬼。 笑死婆赠,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的休里。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼妙黍,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼悴侵!你這毒婦竟也來(lái)了拭嫁?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤做粤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后怕品,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體妇垢,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡闯估,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吼和。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睬愤。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖纹安,靈堂內(nèi)的尸體忽然破棺而出尤辱,到底是詐尸還是另有隱情,我是刑警寧澤厢岂,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布光督,位于F島的核電站,受9級(jí)特大地震影響塔粒,放射性物質(zhì)發(fā)生泄漏结借。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一卒茬、第九天 我趴在偏房一處隱蔽的房頂上張望船老。 院中可真熱鬧咖熟,春花似錦、人聲如沸柳畔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)薪韩。三九已至确沸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間俘陷,已是汗流浹背罗捎。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拉盾,地道東北人桨菜。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像捉偏,于是被迫代替她去往敵國(guó)和親倒得。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • ??決策樹(shù)(Decision Tree)是一種基本的分類與回歸方法告私,其模型呈樹(shù)狀結(jié)構(gòu),在分類問(wèn)題中承桥,表示基于特征對(duì)...
    殉道者之花火閱讀 4,525評(píng)論 2 2
  • 先來(lái)看個(gè)例子一個(gè)女孩的母親要給這個(gè)女孩介紹男朋友驻粟,于是有了下面的對(duì)話:女兒:多大年紀(jì)了?母親:26凶异。女兒:長(zhǎng)的帥不...
    ColleenKuang閱讀 745評(píng)論 0 0
  • 一蜀撑、決策樹(shù)應(yīng)用體驗(yàn) 分類 ??從上面可以看出,決策樹(shù)對(duì)分類具有線性回歸無(wú)可比擬的優(yōu)勢(shì), 如果對(duì)未參與訓(xùn)練的數(shù)據(jù)集是...
    楊強(qiáng)AT南京閱讀 1,248評(píng)論 1 3
  • 運(yùn)行平臺(tái):Windows Python版本:Python3.x IDE:pycharm 一剩彬、決策樹(shù) 決策樹(shù)是什么酷麦?...
    ghostdogss閱讀 1,877評(píng)論 0 1
  • 一、介紹 決策樹(shù)(Decision Tree)是一個(gè)樹(shù)結(jié)構(gòu)(可以是二叉樹(shù)或非二叉樹(shù))喉恋,其中每個(gè)非葉節(jié)點(diǎn)表示一個(gè)屬性...
    黑羊的皇冠閱讀 2,479評(píng)論 0 4