如何用決策樹模型做數據分析?

2020-12-12 運營之術

什麼是決策樹?

決策樹模型本質是一顆由多個判斷節點組成的樹。在樹的每個節點做參數判斷,進而在樹的最末枝(葉結點)能夠對所關心變量的取值作出最佳判斷。通常,一棵決策樹包含一個根結點,若干內部節點和若干葉結點,葉結點對應決策分類結果。分支做判斷,葉子下結論

我們看一個簡單的決策樹的模型,通過動物的一些特點來判斷它是否是魚類,在決策樹模型中,我們來看每一個節點是如何做判斷的。我們將所有要研究的動物作為樹最上端的起點,對它進行第一個判斷,是否能脫離水生存?如果判斷為是的話,它不是魚類。如果為否的話,我們還要再進行下一個判斷,是否有腳蹼?如果是的話,它就是非魚類,如果否的話就是魚類。

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

決策樹是一種簡單高效並且具有強解釋性的模型,廣泛應用於數據分析領域。

簡單:邏輯相對簡單,整個算法沒有更複雜的邏輯,只是對節點進行分叉;高效:模型訓練速度較快;強解釋性:模型的判斷邏輯可以用語言清晰的表達出來,比如上述決策樹案例中的判斷,就可以直接用語言表述成:脫離水不能生存的沒有腳蹼的動物,我們判斷它是魚;決策樹模型應用於數據分析的場景主要有三種:

監督分層;驅動力分析:某個因變量指標受多個因素所影響,分析不同因素對因變量驅動力的強弱(驅動力指相關性,不是因果性);預測:根據模型進行分類的預測;

熵是什麼?

熵是描述判斷的不確定性,大多數決策樹的最終判斷,並不是100%準確,決策樹只是基於不確定性,作出最優的判斷。

比如上述決策樹案例,我們判斷脫離水依然可以生存的是「非魚類」。但是有一種特殊的魚叫做非洲肺魚,它脫離水後依然可以存活4年之久。雖然不是100%正確,我們在這個葉結點做出非魚類的判斷,是因為所有脫離水依然可以生存的動物裡,有非常大部分都不是魚。雖然這個判斷有很大可能性是正確的,但判斷依然存在著一些不確定性。

那麼不確定性指的是什麼呢?如下圖,女生佔比為50%,具有最大的不確定性;女生佔比0%或者100%,則具備最小的不確定性。女生佔比30%,具有中等不確定性;如果女性佔比為70%的話,我們這個時候猜測是女性,出錯可能性是1-70%,即30%,和剛剛的情況相同。也就是說,10個人中女性佔比為30%,或是70%,我們雖然給出的判斷不同,但是兩個判斷出錯的可能性是一樣的,都是30%;

圖:在10個人中,判斷隨機挑選出來一個人,性別是男還是女

如果嘗試使用一個統計量E來表示不確定性的話,並且規定E的取值在0和1之間。他和人群中女性的佔比應該滿足這樣一條曲線的關係,當女性佔比為0或者100%的時候,進行判斷的不確定性最小;E取最小值0當女性佔比為50%的時候,判斷的不確定性最大,E取最大值1;當女性佔比取0到50%,或者50%到100%之間的值的時候,E的取值介於0到1之間。並且取值相對女性佔比50%是對稱的。

熵即是用來描述以上這種不確定性,它的數學表達式為:

Pi含義:對於事件,有c種可能的結果,每一種可能結果的概率為P1、P2…Pc;

熵的取值在0-1之間;一個判斷的不確定性越大,熵越大;

信息增益

信息增益表示經過一次決策判斷(分叉)後,人群熵值下降的大小,即母節點的熵與兩個子節點熵值和的差值。

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

決策樹算法實現步驟

我們繼續用上一篇文章《如何用線性回歸模型做數據分析》中的共享單車服務滿意分數據集來做案例,分析哪一類人群更加偏向於成為公司的推薦者,我們需要分析用戶特徵,更好的區分出推薦者。

4.1測量節點對應人群的熵

決策樹模型的第一步,是測量每個節點對應人群的熵值,最終我們得到可以判斷推薦者的決策樹。如下圖,每個節點中標註兩個數字,上面是推薦者比例,下面是用戶群佔比。初始節點的推薦者比例為0.14,再沒任何分叉前,人群佔比100%。我們用熵來度量每個節點對應人群的不確定性,推薦者比例趨近0%和100%的人群,熵的值也趨近於0,推薦者比例趨近50%的人群,熵的值則趨近於1。

在這個案例中,我們想知道哪一類人更加偏向成為公司的推薦者,也就是說,我們希望通過決策樹,可以儘量地劃分出是或者不是推薦者這個事情最為確定的人群。如果這樣的人群在樹的最終結點、也就是葉子結點可以被很好地劃分出來的話,那麼葉子結點所對應的人群的特徵,就是推薦者或者非推薦者的典型特徵

反應在人群的熵值計算,更大的確定性對應於比較小的熵值。我們實際上是希望通過決策樹不斷地分叉,使得節點的熵值越來越低,用戶的label越來越純。

4.2節點的分叉-信息增益我們使用信息增益(IG)來判斷決策樹的分叉方式。

節點分叉規則:在每個節點嘗試按照不同特徵變量的各種分組方式,選取信息增益最大(熵最小)的方式。

4.3在特定情況節點停止分叉

決策樹不會一直不停分叉,決策樹停止分叉的條件通常有:

樹的深度 — 如規定樹的深度不能超過3葉子結點樣本數 — 如葉子結點樣本數不能小於10信息增益 — 如每一個分叉的信息增益不能小於0.2(R中的默認值)停止分叉:再分叉會增加複雜度但是效果沒有提高,葉子越多越複雜,會加重解釋複雜性。

決策樹在數據分析中的實戰流程

我們了解了決策樹模型的算法原理,那麼它如何應用在日常的數據分析工作中呢?

繼續我們剛才的案例,我們想探究分析用戶推薦程度的主要影響因素是什麼?可以用決策樹模型將用戶按照推薦者比例高低進行分層。

一百條數據,由公司員工隨機採訪100名用戶產生,採訪對象是北京市四個城區(西城區、東城區、海澱區、朝陽區)的居民,組別分為實驗組和對照組。

5.1導入數據集

5.2切割自變量和因變量

5.3將分類變量轉換為啞變量

Python大多數算法模型無法直接輸入分類變量

5.4訓練模型

圈出葉子點-最終劃分出的人群分層

5.5分析結果

通過人群特徵取值的判斷,1、我們劃分出了推薦者比例有顯著區別的人群2、找出了區分推薦者人群的關鍵特徵,例如:海澱區用戶、29歲及以上等

5.6決策樹擴展

模型建立後,可以將模型用作分類預測;決策樹不只可應用於預測量為分類變量,還可應用於數值型因變量,只需將熵改為連續變量的方差;特徵劃分的方法除了信息增益方法外,還可以用增益率(C4.5決策樹)、基尼指數(CART決策樹);剪枝是決策樹算法中防止過擬合的主要手段,分為預剪枝與後剪枝。預剪枝指在決策樹生成過程中,對每個結點在劃分前進行估計,若當前結點劃分不能使決策樹泛化能力提升則停止劃分。後剪枝指先從訓練集生成一顆決策樹,自底向上對非葉結點進行考察,若該結點對應的子樹替換為葉結點能使決策樹泛化能力提升,則該子樹替換為葉結點;作者:趙小洛 快手社區數據分析,網際網路行業的數據分析師 主要分享網際網路數據分析、產品、運營相關方法論及思考總結。

相關焦點

  • 決策樹模型怎麼畫?詳細圖文教程解讀模型圖畫法
    決策樹是一種解決分類問題的算法,本文將介紹什麼是決策樹模型,常見的用途,以及如何使用「億圖圖示」軟體繪製決策樹模型。決策樹模型(decision tree) 是一種簡單高效、具有強解釋性的預測模型,一般是自上而下的來生成的,每個決策或事件(即自然狀態)都可能引出兩個或多個事件並導致不同的結果,把這種決策分支畫成圖形後很像一棵樹的枝幹,故稱決策樹。換種表達就是運用樹狀圖表示各決策的期望值,通過計算,最終選出效益最大、成本最小的決策方法。目前這種模型廣泛應用於數據分析領域。
  • 從拍腦袋下決定到科學做選擇——決策樹模型-TY聊思維5
    1、決策節點:代表你需要做決策(選擇)的時間點,用□表示。一般一個決策樹只有一個決策節點,就是你想做決策的那個事件(點),比如:該去讀研還是去找工作;這項技術是對外採購還是自主研發,等等。接下來,我們詳細的來聊一下,如何畫決策樹,並用決策樹進行方案選擇。如何應用——決策樹的畫法應用決策樹有如下四步:一、提出決策問題,明確決策目標。考慮清楚要決策的問題是什麼,同時有哪些中可選方案。
  • 每天學習一個《查理芒格的100個思維模型》之決策樹思維模型
    04決策樹思維模型面對不確定性,如何做決策人生每天每時每刻都處於不斷選擇的狀態,小到午餐吃什麼,大到在哪裡買房。任何一個選擇都可能會產生蝴蝶效應,正確的事半功倍,錯誤的事倍功半。頂級高手都喜歡使用的一款工具:決策樹。一、認識決策樹思維模型1.決策樹思維模型定義決策樹是一種十分常用的分類方法。決策樹是在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價項目風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種圖解法。
  • 決策樹模型
    思維模式導語:做不出決策怎麼辦?可選項太多,未來太深遠,魚翅和熊掌不知道選哪個?不用怕,這期大叔給大家分享一個非常好用的工具來輔助大家做決策,別怕,什麼軟體都不用下,大家需要做的只是準備好紙和筆而已。決策樹需要概率一起用來做決策,所以有兩個分支類型:方案枝,概率枝下邊大家再次上邊的例子表明下決策樹如何融合概率變為概率樹的方法來做決策的。決策樹只是是給了很有可能的全部回答,而且是用0分或是一百分來判斷結果,較為不光滑。
  • 深度神經決策樹:深度神經網絡和樹模型結合的新模型
    深度神經決策樹:深度神經網絡和樹模型結合的新模型 工程師郭婷 發表於 2018-08-19 09:14:44 近日,來自愛丁堡大學的研究人員提出了一種結合深度神經網絡和樹模型的新型模型——深度神經決策樹(Deep
  • 如何用線性回歸模型做數據分析?
    編輯導語:在日常工作中,很多時候都會用到數據分析的方法,線性回歸模型看起來非常簡單,但實際上它的十分重要;本文作者分享了關於如何用線性回歸模型做數據分析的方法,我們一起來學習一下。線性回歸應用於數據分析的場景主要有兩種:驅動力分析:某個因變量指標受多個因素所影響,分析不同因素對因變量驅動力的強弱(驅動力指相關性,不是因果性);預測:自變量與因變量呈線性關係的預測;模型數學形式:=0+11+22++
  • 高通量數據如何利用機器學習指導臨床決策?
    隨著數據的不斷積累和基礎研究的不斷突破,人類對疾病的診治邁入了精準醫學時代。醫生可以將患者的表型數據、組學數據、臨床診療數據、病歷檔案數據及醫學影像數據等進行結合併對疾病進行精準把控。利用機器學習等方法,從數據中生成模型,擴大樣本數據並對模型進行校正,以達到對疾病預測和分類、用藥指導、疾病診斷等目的,為臨床決策支持提供基礎。
  • 基於樹的機器學習模型的演化
    決策樹的構造下面的示例描述了只有兩個特性和兩個類的樣例數據集(左)。決策樹算法從根節點中的所有15個數據點開始。該節點被稱為不純節點,因為它混合了多種異構數據。在每個決策節點上,算法根據減少雜質最多的目標特徵對數據集進行分割,最終產生具有同質數據的葉節點/終端節點(右)。有一些常用的測量雜質的指標-基尼係數和熵。
  • 張一鳴:多元思維模型是如何幫助我們做決策的?
    如果說,創始人的認知是公司發展的天花板,那麼字節跳動全球崛起之下,無疑隱藏著張一鳴驚人的決策能力。 從這位理科出身的 80 後企業家身上,我們能學到什麼?他的決策模型是否具有可複製性? 在詳細拆解張一鳴「理性思維」決策模型之前,我們首先來看看,「感性思維」是如何決策的。
  • 進化決策樹:當機器學習從生物學中汲取靈感時
    內容本文重點關注的一個例子是進化決策樹。這類分類器使用進化算法來構建魯棒性更強,性能更好的決策樹。進化算法依賴於生物進化啟發的機制。決策樹是什麼?如何根據進化算法搭建決策樹?與其它分類器相比,進化決策樹的表現如何?
  • 不要小看樹模型
    決策樹中被激活的條件節點類似於神經網絡中被激活的神經元(信息流)。神經網絡通過擬合參數對輸入進行變換,間接指導後續神經元的激活。決策樹則顯式地擬合參數來指導信息流。(這是確定性與概率性相對應的結果。)信息在兩個模型中的流動相似,只是在樹模型中的流動方式更簡單。
  • 東北師範大學商學院精品課程 | 數據·模型與決策:化繁為簡、觸類...
    要知道數據模型與決策這門課可是一門艱深的課程,一不小心就容易讓人「走火入魔」,各種模型,各種方案,各種算法……但在李老師的講述下,這些花樣繁多的內容瞬間變得條分縷析,輕鬆易懂。老頑童的絕招是左右互搏術,李老師的絕招是課上講課下練,二者都屬於輔助型「武學」,對學生數據模型的學習加成是巨大的,如此舉一反三,佔盡優勢。
  • 機器學習:不要低估樹模型的威力
    包含太多組件的模型(對於樹模型而言是節點,對於神經網絡則是神經元)會過擬合,而組件太少的模型根本無法給出有意義的預測。(二者最開始都是記憶數據點,而不是學習泛化。) 對於決策樹而言,處理表格或表格形式的結構化數據是很自然的。大多數人都同意用神經網絡執行表格數據的回歸和預測屬於大材小用,所以這裡做了一些簡化。選擇 1 和 0,而不是概率,是這兩種算法之間差異的主要根源。因此,基於樹的方法可成功應用於不需要概率的情況,如結構化數據。
  • 譁啦啦:為餐企精準營銷提供決策支持,RFM數據模型如何做到?
    前3項就是著名的顧客價值研究的RFM模型,分別是R-Recency(最近購買時間),F-Frequency(消費頻率),M-Monetary(消費金額)。這三個指標最早是來源於美國資料庫營銷機構的研究,後來隨著企業分析目標的不同,也會增加後3個指標一起來做會員價值衡量。
  • 還只是做動畫?看前浪們如何玩轉BIM模型數據!
    幸運的是,三維模型就產生於項目早期的設計階段,利用三維模型可以更有效的完成項目規劃,關鍵在於如何利用設計模型去構建工程管理模型。 模型的本質是數據,當我們把數據關聯、篩選、分析和重組後,就可以按項目要求去建立和獲取更有價值的工程管理模型,而不只是簡單的動畫模擬。
  • 詳解數據分析六大經典模型原理及應用場景,值得收藏
    要想做好數據分析離不開數據分析模型的理解和掌握,掌握常用的數據分析模型能夠幫助我們拿到數據時很快理順分析的思路,提供一個分析的整體結構,另外也能更好幫助拆解問題,將問題細化,方便找出問題的主要原因。
  • 如何用聚類模型(k-means)做數據分析?
    k-means屬於無監督學習算法,無監督算法的內涵是觀察無標籤數據集自動發現隱藏結構和層次,在無標籤數據中尋找隱藏規律。聚類模型在數據分析當中的應用:既可以作為一個單獨過程,用於尋找數據內在規律,也可以作為分類等其他分析任務的前置探索。
  • 常用數據分析模型及波特五力模型
    導讀:數據分析是指用適當的統計分析方法對收集來的大量數據進行分析,將它們加以匯總和理解並消化,以求最大化地開發數據的功能,發揮數據的作用。數據分析是為了提取有用信息和形成結論而對數據加以詳細研究和概括總結的過程。
  • 神策數據第九大數據分析模型——間隔分析上線
    在用戶行為分析領域,數據分析方法的科學應用結合理論推導,能夠相對完整地揭示用戶行為的內在規律。圍繞數據分析探索、應用場景拓展,神策數據始終走在領域前沿。近日,神策數據新上線的神策分析1.11版本再添行業力作——間隔分析。
  • R語言基於樹的方法:決策樹,隨機森林,套袋Bagging,增強樹
    摘要:本文有關 基於樹的回歸和分類方法。樹方法簡單易懂,對於解釋非常有用,但就預測準確性而言,它們通常無法與最佳監督學習方法競爭。因此,我們還介紹了裝袋,隨機森林和增強樹。這些示例中 我們看到,合併大量的樹可以大大提高預測準確性,但代價是損失解釋能力。