這次上完數(shù)據(jù)挖掘的課之后,我想還是要做做筆記吧贡歧,結(jié)合書上的內(nèi)容以及網(wǎng)上其他博主的經(jīng)驗(yàn),這里我就給出自己的一些理解
參考網(wǎng)址:https://blog.csdn.net/fly_time2012/article/details/70210725
主要概念
- 分類和預(yù)測(cè)
- 信息熵(期望信息)
- 信息增益
- 屬性選擇度量
- 決策樹(shù)歸納
分類和預(yù)測(cè)
假設(shè)你是銀行工作人員,有很大一堆貸款者的數(shù)據(jù)锨能,包括這些人的年齡,職業(yè)芍耘,收入址遇,貸款信用等等,你要怎么根據(jù)這些數(shù)據(jù)來(lái)分析出這些貸款者的信用是安全的還是有風(fēng)險(xiǎn)的呢斋竞?
你需要構(gòu)造一個(gè)分類器倔约,根據(jù)這個(gè)分類器來(lái)分析這些數(shù)據(jù)
假設(shè)你通過(guò)大量的數(shù)據(jù)構(gòu)造除了一個(gè)分類器,那么下次又來(lái)了一批貸款者坝初,你就能根據(jù)這個(gè)分類器來(lái)預(yù)測(cè)這些人的貸款信用
數(shù)據(jù)分類是一個(gè)兩階段的過(guò)程浸剩,包括
- 學(xué)習(xí)階段
- 分類階段
學(xué)習(xí)階段——構(gòu)建分類模型
就是通過(guò)數(shù)據(jù)分析的算法來(lái)構(gòu)造一個(gè)分類器
分類階段——使用模型預(yù)測(cè)給定數(shù)據(jù)的類標(biāo)號(hào)
所謂類標(biāo)號(hào),比如說(shuō)一個(gè)數(shù)據(jù)的屬性是性別钾军,那么類標(biāo)號(hào)就是男士或者女士,就是一個(gè)屬性的value
那么這里的意思就是绢要,通過(guò)分類器的預(yù)測(cè)吏恭,來(lái)給出屬性的值,比如貸款信用——高 中等 低
決策樹(shù)歸納
好了重罪,現(xiàn)在我們要嘗試去構(gòu)造一個(gè)分類器了
假設(shè)你有這么一堆數(shù)據(jù)
圖片來(lái)源:https://blog.csdn.net/fly_time2012/article/details/70210725
現(xiàn)在我們要做的就是通過(guò)過(guò)分析天氣的情況來(lái)分析出他到底play還是不play
那么現(xiàn)在很流行的就是使用決策樹(shù)歸納
假設(shè)分成這個(gè)樣子:
那這樣我們就可以知道了樱哼,在overcast的天氣,他是絕對(duì)會(huì)出去玩的(僅限于當(dāng)前數(shù)據(jù)集)
像上面那個(gè)分類剿配,我們不妨把Outlook看做屬性A搅幅,而數(shù)據(jù)集叫做D分區(qū),A中有多個(gè)不同的值
{a1,a2,a3,....an}
那么屬性A將D劃分n個(gè)分區(qū)或者子集
{D1,D2,D3,D4....}
停下來(lái)結(jié)合我們剛剛的例子好好想想呼胚,屬性A就是那個(gè)outlook茄唐,每個(gè)a1,a2之類的就是sunny蝇更,rainy之類的沪编,而通過(guò)這幾個(gè)值,就把D這個(gè)數(shù)據(jù)分區(qū)年扩,也就是那個(gè)玩還是不玩數(shù)據(jù)漾抬,分成了幾個(gè)子集
現(xiàn)在應(yīng)該清楚了一些
然后我們繼續(xù)看那張圖,我們按照overcast分了之后常遂,得到的D2纳令,哪個(gè)里面全部都是No,出現(xiàn)這種情況克胳,我們就說(shuō)這種這個(gè)分區(qū)是
純的
像其他幾個(gè)分區(qū)平绩,又有yes又有no,那就是不純的
剛才我們僅僅只是按照了一個(gè)屬性將這塊數(shù)據(jù)D分成了幾個(gè)子集漠另,
假設(shè)我們繼續(xù)分捏雌,比如說(shuō)按照Temperature來(lái)分,又可以將幾個(gè)D1笆搓,D2繼續(xù)分成更細(xì)的部分
那么一直這樣分的話性湿,我們就形成了一顆決策樹(shù)(有點(diǎn)懶,直接在網(wǎng)上拿的圖)
來(lái)源:https://lotabout.me/2018/decision-tree/
決策樹(shù)是一種類似于流程圖的機(jī)構(gòu),其中满败,每個(gè)內(nèi)部結(jié)點(diǎn)表示在一個(gè)屬性上的測(cè)試肤频,每個(gè)分支代表該測(cè)試的一個(gè)輸出,而每個(gè)樹(shù)葉節(jié)點(diǎn)存放一個(gè)類標(biāo)號(hào)
好了算墨,現(xiàn)在的問(wèn)題是什么呢宵荒?
難道你們沒(méi)有發(fā)現(xiàn)我們?cè)诜值臅r(shí)候,選取的屬性完全是自己選的嗎?
那這樣怎么才能保證我們的決策樹(shù)能很好地預(yù)測(cè)下一次的數(shù)據(jù)呢报咳?
屬性選擇度量
我們要選擇一個(gè)很好地標(biāo)準(zhǔn)來(lái)幫助我們構(gòu)造一棵決策樹(shù)
也就是選好一個(gè)分裂準(zhǔn)則
這里有三種常見(jiàn)的分裂準(zhǔn)則
- 信息增益
- 增益率
- 基尼指數(shù)(Gini)
好了侠讯,不要被上面的信息看懵了,我現(xiàn)在只做一個(gè)信息增益的介紹
信息熵
香農(nóng)提出來(lái)的暑刃,類似于物理上的熵璃搜,熵越大粟关,意味著物質(zhì)越無(wú)序
而信息熵越大会钝,意味著信息越是無(wú)序蜈七,而無(wú)序和信息量大是由一定關(guān)系的,一般來(lái)說(shuō)婿脸,對(duì)于一堆未處理的數(shù)據(jù)粱胜,信息量大柄驻,這堆數(shù)據(jù)的看起來(lái)就非常的雜亂狐树,那么信息熵也就越大
定義:
假如一個(gè)隨機(jī)變量X的取值是
{X1,X2,X3,....}
對(duì)應(yīng)的出現(xiàn)概率是
{p1,p2,p3,.....}
那么這個(gè)X的信息熵(也叫做期望信息)就是
注意
- 并不是傳統(tǒng)的期望值----概率x取值
- 使用以2為底的對(duì)數(shù)是因?yàn)樾畔⒂枚M(jìn)制編碼(我不知道)
那好,大伙們鸿脓,我么先計(jì)算一下未分區(qū)之前play的信息熵:
當(dāng)我們分完區(qū)之后抑钟,我們來(lái)計(jì)算一下各個(gè)分區(qū)的信息熵,(我知道去翻圖片有點(diǎn)累啊,但是我不想傳兩次了)
那么怎么才能把這幾個(gè)分區(qū)的信息熵結(jié)合起來(lái)野哭,來(lái)和原來(lái)的進(jìn)行比較呢在塔?
所謂各個(gè)分區(qū)所占的權(quán)重,就是
Di/D
比如說(shuō)sunny占了原來(lái)數(shù)據(jù)的1/2拨黔,那么我們就用這個(gè)
∑權(quán)重*分完之后的信息熵
信息增益
好了蛔溃,用原來(lái)的信息熵減去分完之后的信息熵我們就得到了信息增益!
那這個(gè)意味著什么呢?
如果信息增益越大,那么就是指分完之后的信息熵越小篱蝇,那也就意味著分完之后的數(shù)據(jù)趨向于有序贺待,而越有序的數(shù)據(jù),意味著我們能更好地預(yù)測(cè)數(shù)據(jù)
所以使用這個(gè)信息增益就能幫我們確定使用什么屬性的優(yōu)先級(jí)來(lái)構(gòu)造決策樹(shù)了