1. 如何用決策樹模型做數(shù)據(jù)分析?

        共 3087字,需瀏覽 7分鐘

         ·

        2021-01-06 03:03


        ?什么是決策樹?

        決策樹模型本質(zhì)是一顆由多個(gè)判斷節(jié)點(diǎn)組成的樹。在樹的每個(gè)節(jié)點(diǎn)做參數(shù)判斷,進(jìn)而在樹的最末枝(葉結(jié)點(diǎn))能夠?qū)λP(guān)心變量的取值作出最佳判斷。通常,一棵決策樹包含一個(gè)根結(jié)點(diǎn),若干內(nèi)部節(jié)點(diǎn)和若干葉結(jié)點(diǎn),葉結(jié)點(diǎn)對(duì)應(yīng)決策分類結(jié)果。分支做判斷,葉子下結(jié)論
        ?
        我們看一個(gè)簡(jiǎn)單的決策樹的模型,通過動(dòng)物的一些特點(diǎn)來判斷它是否是魚類,在決策樹模型中,我們來看每一個(gè)節(jié)點(diǎn)是如何做判斷的。我們將所有要研究的動(dòng)物作為樹最上端的起點(diǎn),對(duì)它進(jìn)行第一個(gè)判斷,是否能脫離水生存?如果判斷為是的話,它不是魚類。如果為否的話,我們還要再進(jìn)行下一個(gè)判斷,是否有腳蹼?如果是的話,它就是非魚類,如果否的話就是魚類。

        我們僅僅是通過最多兩個(gè)層次的判斷,在樹最末端的葉子結(jié)點(diǎn),可以對(duì)我們感興趣的問題給出了一個(gè)相對(duì)而言的最佳決策。這個(gè)就是決策樹的邏輯,非常簡(jiǎn)單且和人腦理解事物的邏輯很類似。

        決策樹是一種簡(jiǎn)單高效并且具有強(qiáng)解釋性的模型,廣泛應(yīng)用于數(shù)據(jù)分析領(lǐng)域。
        • 簡(jiǎn)單:邏輯相對(duì)簡(jiǎn)單,整個(gè)算法沒有更復(fù)雜的邏輯,只是對(duì)節(jié)點(diǎn)進(jìn)行分叉;
        • 高效:模型訓(xùn)練速度較快;
        • 強(qiáng)解釋性:模型的判斷邏輯可以用語言清晰的表達(dá)出來,比如上述決策樹案例中的判斷,就可以直接用語言表述成:脫離水不能生存的沒有腳蹼的動(dòng)物,我們判斷它是魚;
        ?
        決策樹模型應(yīng)用于數(shù)據(jù)分析的場(chǎng)景主要有三種:
        • 監(jiān)督分層;
        • 驅(qū)動(dòng)力分析:某個(gè)因變量指標(biāo)受多個(gè)因素所影響,分析不同因素對(duì)因變量驅(qū)動(dòng)力的強(qiáng)弱(驅(qū)動(dòng)力指相關(guān)性,不是因果性);
        • 預(yù)測(cè):根據(jù)模型進(jìn)行分類的預(yù)測(cè);
        ?

        熵是什么?

        熵是描述判斷的不確定性,大多數(shù)決策樹的最終判斷,并不是100%準(zhǔn)確,決策樹只是基于不確定性,作出最優(yōu)的判斷。
        ?
        比如上述決策樹案例,我們判斷脫離水依然可以生存的是“非魚類”。但是有一種特殊的魚叫做非洲肺魚,它脫離水后依然可以存活4年之久。雖然不是100%正確,我們?cè)谶@個(gè)葉結(jié)點(diǎn)做出非魚類的判斷,是因?yàn)樗忻撾x水依然可以生存的動(dòng)物里,有非常大部分都不是魚。雖然這個(gè)判斷有很大可能性是正確的,但判斷依然存在著一些不確定性。
        ?
        那么不確定性指的是什么呢?如下圖,女生占比為50%,具有最大的不確定性;女生占比0%或者100%,則具備最小的不確定性。女生占比30%,具有中等不確定性;如果女性占比為70%的話,我們這個(gè)時(shí)候猜測(cè)是女性,出錯(cuò)可能性是1-70%,即30%,和剛剛的情況相同。也就是說,10個(gè)人中女性占比為30%,或是70%,我們雖然給出的判斷不同,但是兩個(gè)判斷出錯(cuò)的可能性是一樣的,都是30%;
        圖:在10個(gè)人中,判斷隨機(jī)挑選出來一個(gè)人,性別是男還是女?
        ?
        如果嘗試使用一個(gè)統(tǒng)計(jì)量E來表示不確定性的話,并且規(guī)定E的取值在0和1之間。他和人群中女性的占比應(yīng)該滿足這樣一條曲線的關(guān)系,當(dāng)女性占比為0或者100%的時(shí)候,進(jìn)行判斷的不確定性最??;E取最小值0當(dāng)女性占比為50%的時(shí)候,判斷的不確定性最大,E取最大值1;當(dāng)女性占比取0到50%,或者50%到100%之間的值的時(shí)候,E的取值介于0到1之間。并且取值相對(duì)女性占比50%是對(duì)稱的。
        ?
        熵即是用來描述以上這種不確定性,它的數(shù)學(xué)表達(dá)式為:

        Pi含義:對(duì)于事件,有c種可能的結(jié)果,每一種可能結(jié)果的概率為P1、P2…Pc;
        熵的取值在0-1之間;一個(gè)判斷的不確定性越大,熵越大;
        ?

        信息增益

        信息增益表示經(jīng)過一次決策判斷(分叉)后,人群熵值下降的大小,即母節(jié)點(diǎn)的熵與兩個(gè)子節(jié)點(diǎn)熵值和的差值。


        如上圖,信息增益(IG) = 0.5842 - ( 38% * 0.9507 + 62 * 0 )=0.22
        ?

        決策樹算法實(shí)現(xiàn)步驟

        我們繼續(xù)用上一篇文章《如何用線性回歸模型做數(shù)據(jù)分析》中的共享單車服務(wù)滿意分?jǐn)?shù)據(jù)集來做案例,分析哪一類人群更加偏向于成為公司的推薦者,我們需要分析用戶特征,更好的區(qū)分出推薦者。

        ?
        4.1測(cè)量節(jié)點(diǎn)對(duì)應(yīng)人群的熵
        ?
        決策樹模型的第一步,是測(cè)量每個(gè)節(jié)點(diǎn)對(duì)應(yīng)人群的熵值,最終我們得到可以判斷推薦者的決策樹。如下圖,每個(gè)節(jié)點(diǎn)中標(biāo)注兩個(gè)數(shù)字,上面是推薦者比例,下面是用戶群占比。初始節(jié)點(diǎn)的推薦者比例為0.14,再?zèng)]任何分叉前,人群占比100%。我們用熵來度量每個(gè)節(jié)點(diǎn)對(duì)應(yīng)人群的不確定性,推薦者比例趨近0%和100%的人群,熵的值也趨近于0,推薦者比例趨近50%的人群,熵的值則趨近于1。
        ?
        在這個(gè)案例中,我們想知道哪一類人更加偏向成為公司的推薦者,也就是說,我們希望通過決策樹,可以盡量地劃分出是或者不是推薦者這個(gè)事情最為確定的人群。如果這樣的人群在樹的最終結(jié)點(diǎn)、也就是葉子結(jié)點(diǎn)可以被很好地劃分出來的話,那么葉子結(jié)點(diǎn)所對(duì)應(yīng)的人群的特征,就是推薦者或者非推薦者的典型特征。
        ?
        反應(yīng)在人群的熵值計(jì)算,更大的確定性對(duì)應(yīng)于比較小的熵值。我們實(shí)際上是希望通過決策樹不斷地分叉,使得節(jié)點(diǎn)的熵值越來越低,用戶的label越來越純。
        ??
        ?
        ?4.2節(jié)點(diǎn)的分叉-信息增益

        我們使用信息增益(IG)來判斷決策樹的分叉方式。
        節(jié)點(diǎn)分叉規(guī)則:在每個(gè)節(jié)點(diǎn)嘗試按照不同特征變量的各種分組方式,選取信息增益最大(熵最?。┑姆绞?。

        ?4.3在特定情況樹節(jié)點(diǎn)停止分叉
        ?
        決策樹不會(huì)一直不停分叉,決策樹停止分叉的條件通常有:
        • 樹的深度 — 如規(guī)定樹的深度不能超過3

        • 葉子結(jié)點(diǎn)樣本數(shù) — 如葉子結(jié)點(diǎn)樣本數(shù)不能小于10

        • 信息增益 — 如每一個(gè)分叉的信息增益不能小于0.2(R中的默認(rèn)值)


        停止分叉:再分叉會(huì)增加復(fù)雜度但是效果沒有提高,葉子越多越復(fù)雜,會(huì)加重解釋復(fù)雜性。

        決策樹在數(shù)據(jù)分析中的實(shí)戰(zhàn)流程

        我們了解了決策樹模型的算法原理,那么它如何應(yīng)用在日常的數(shù)據(jù)分析工作中呢?
        繼續(xù)我們剛才的案例,我們想探究分析用戶推薦程度的主要影響因素是什么?可以用決策樹模型將用戶按照推薦者比例高低進(jìn)行分層。
        ?
        一百條數(shù)據(jù),由公司員工隨機(jī)采訪100名用戶產(chǎn)生,采訪對(duì)象是北京市四個(gè)城區(qū)(西城區(qū)、東城區(qū)、海淀區(qū)、朝陽區(qū))的居民,組別分為實(shí)驗(yàn)組和對(duì)照組。

        ?5.1導(dǎo)入數(shù)據(jù)集
        5.2切割自變量和因變量


        5.3將分類變量轉(zhuǎn)換為啞變量
        Python大多數(shù)算法模型無法直接輸入分類變量

        5.4訓(xùn)練模型


        圈出葉子點(diǎn)-最終劃分出的人群分層


        ?5.5分析結(jié)果

        通過人群特征取值的判斷,1、我們劃分出了推薦者比例有顯著區(qū)別的人群2、找出了區(qū)分推薦者人群的關(guān)鍵特征,例如:海淀區(qū)用戶、29歲及以上等
        ?‘
        5.6決策樹擴(kuò)展

        • 模型建立后,可以將模型用作分類預(yù)測(cè);
        • 決策樹不只可應(yīng)用于預(yù)測(cè)量為分類變量,還可應(yīng)用于數(shù)值型因變量,只需將熵改為連續(xù)變量的方差;
        • 特征劃分的方法除了信息增益方法外,還可以用增益率(C4.5決策樹)、基尼指數(shù)(CART決策樹);
        • 剪枝是決策樹算法中防止過擬合的主要手段,分為預(yù)剪枝與后剪枝。預(yù)剪枝指在決策樹生成過程中,對(duì)每個(gè)結(jié)點(diǎn)在劃分前進(jìn)行估計(jì),若當(dāng)前結(jié)點(diǎn)劃分不能使決策樹泛化能力提升則停止劃分。后剪枝指先從訓(xùn)練集生成一顆決策樹,自底向上對(duì)非葉結(jié)點(diǎn)進(jìn)行考察,若該結(jié)點(diǎn)對(duì)應(yīng)的子樹替換為葉結(jié)點(diǎn)能使決策樹泛化能力提升,則該子樹替換為葉結(jié)點(diǎn);

        ?



        --------? ?往 期 推 薦??----------

        ? ??

        瀏覽 59
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 91福利在线观看视频 | 成人性生交大片免费看黄120秒 | 在线无码国产一区二区三区性色 | 99re在线视频 | 99热1|