決策樹原理

2021-10-14 05:01:36 字數 3609 閱讀 4051

目錄

決策樹基本知識

id3 與c4.5

cart 應用

1.我們遇到的選擇都是根據以往的選擇判斷,如果把判斷背後的邏輯整理成乙個結構圖,會是乙個樹狀圖,就是決策樹的本質.

2.決策樹的階段:構造與剪枝

構造:選擇什麼屬性作為結點   (1)根節點--樹的頂端  (2)內部節點--中間節點  (3)葉節點--決策節點

剪枝:給決策樹**;目標就是不需要太多判斷就可以得到好的結果.防止過擬合發生(擬合的太好了,不具有普遍性,泛化能力差)

3.過擬合的原因: 訓練集中樣本量少 因為訓練集是抽樣,並不能體現全部資料的特點

4.剪枝的方法: 預剪枝與後剪枝

5:預剪枝: 在決策樹構造的時候就開始剪枝,如果劃分某個節點不能對其準確性帶來提公升,就把當前節點作為葉節點,不對其進行劃分

6:後剪枝: 在生成決策樹之後進行剪枝.如果保留節點與減掉節點對準確性影響不大就把該節點的葉子節點代替該節點.

7.純度與資訊熵(不純度).資訊熵越大,純度越低 .判斷'不純度'的種類  (1)資訊增益(id3)  (2)資訊增益率(c4.5) (3)基尼係數(cart)

資訊熵的數學公式:

p(i|t) 代表了節點 t 為分類 i 的概率,其中 log2 為取以 2 為底的對數

eg:我舉個簡單的例子 5 次去打籃球,1 次不去打籃球;

10.資訊增益:指劃分帶來的純度的提高.計算公式是 父節點的資訊熵 - 子節點的資訊熵.

eg:假設天氣 = 晴的時候,會有 5 次去打籃球,5 次不打籃球。其中 d1 颳風 = 是,有 2 次打籃球,1 次不打籃球。d2 颳風 = 否,有 3 次打籃球,4 次不打籃球。

那麼 a 代表節點的屬性,即天氣 = 晴。資訊增益的公式可以表示為:

11.'id3演算法'就是將資訊增益最大的節點作為父節點.但是也存在缺陷.因為id3 演算法傾向於選擇取值較多的屬性,比如我們把id作為屬性,就會被選為最優屬性. 但編號是無關屬性.在大部分情況下 id3還是能生成不錯的決策樹分類的 .

12.在id3演算法上進行改進的'c4.5演算法' :

(1)改進方式將資訊增益改為資訊增益率:資訊增益率 = 資訊增益/屬性熵. 如果碰到無關屬性id ,那麼雖然資訊增益大,但是屬性熵也大,所以資訊增益率不大

(2)採用悲觀剪枝,id3容易產生過擬合的情況,c4.5之後會在決策樹構造後悲觀剪枝(pep),提公升模型的泛化能力.

(3)c4.5 可以處理連續屬性的情況.對連續屬性進行離散化的處理.用具有最高資訊增益的劃分來確定閾值.

(4)處理缺失值:針對資料不完整的情況,c4.5也能進行處理.

13.id3演算法與c4.5演算法的優缺點:

id3:優點,方法簡單.缺點,雜訊敏感(對id等無關類容易決策錯誤)

c4.5:優點,雜訊不敏感,可以對構造樹進行剪枝,處理連續值以及缺失值情況(善於處理不優質資料) 缺點,需要對資料進行多次掃瞄,演算法效率低

14.cart演算法,classification and regression tree(分類回歸樹)

特點:id3 and c4.5能生成二叉樹圖多叉樹, cart演算法只能生成二叉樹.同時,既可以做分類樹,也可以做回歸樹

分類樹與回歸樹:分類樹是**離散資料,輸出是有限數(eg.判斷職業身份).但是回歸樹是**連續性資料,輸出乙個數值(eg:判斷溫度).

15.決策樹的核心是尋找純淨的劃分,因此引入純度概念. id3選擇資訊增益,c4.5選擇資訊增益率,cart的指標選用基尼係數.

經濟學中的基尼係數是衡量乙個國家收入差距的常用指標.>0.4表示收入差距過大.0.2~0.4表示收入分配合理.

而在資料中,顯示的是差異性.基尼係數越小,表示差異性越小,越大,表示差異性越大.所以cart演算法構造分類樹的時候選擇基尼係數最小的屬性.

基尼係數公式:

eg:集合 1:6 個都去打籃球;集合 2:3 個去打籃球,3 個不去打籃球。

針對集合 1,所有人都去打籃球,所以 p(ck|t)=1,因此 gini(t)=1-1=0。

針對集合 2,有一半人去打籃球,而另一半不去打籃球,所以,p(c1|t)=0.5,p(c2|t)=0.5,gini(t)=1-(0.5*0.5+0.5*0.5)=0.5。通過兩個基尼係數你可以看出,集合 1 的基尼係數最小,也證明樣本最穩定,而集合 2 的樣本不穩定性更大。

在 cart 演算法中,基於基尼係數對特徵屬性進行二元**,假設屬性 a 將節點 d 劃分成了 d1 和 d2,如下圖所示:

16.cart回歸樹.判斷不純度的指標不是基尼係數而是'差值的絕對值'或者'方差'

差值絕對值方程式:

方差方程式:

這兩種節點劃分標準對應兩種目標函式最優化標準:最小絕對偏差(lad)與 最小二乘偏差(lsd)

17.cart決策樹的剪枝

剪枝方法:ccp(cost-complexity prune)--代價複雜度,是一種後剪枝的方式,指標是節點的'表面誤差率增益值'

公式:

其中 tt 代表以 t 為根節點的子樹,c(tt) 表示節點 t 的子樹沒被裁剪時子樹 tt 的誤差,

c(t) 表示節點 t 的子樹被剪枝後節點 t 的誤差,|tt|代子樹 tt 的葉子數,剪枝後,t 的葉子數減少了|tt|-1。

所以節點的表面誤差率增益值等於節點 t 的子樹被剪枝後的誤差變化除以剪掉的葉子數量。

決策樹是常用的資料探勘演算法,因為他更接近於人腦的判斷模型,基於決策樹還誕生了許多資料探勘演算法比如隨機森林(random forest). 

決策樹的應用十分廣泛,涉及各行各業,比如金融可以做貸款風險評估,醫療行業可以用決策樹進行輔助判斷,電商行業可以用決策樹進行**等.

總結:

id3:以資訊增益作為判斷標準,計算每個特徵的資訊增益,選取資訊增益最大的特徵,但是容易選取到取值較多的特徵

c4.5:以資訊增益比作為判斷標準,計算每個特徵的資訊增益比,選取資訊增益比最大的特徵

cart:分類樹以基尼係數為標準,選取基尼係數小的的特徵

回歸樹以均方誤差或絕對值誤差為標準,選取均方誤差或絕對值誤差最小的特徵

決策樹01 決策樹的原理

此筆記根據 machine learning in action 和周志華教授的 機器學習 所作。缺點 可能會產生過度匹配問題。適用資料型別 數值型和標稱型 machine learning in action if so return 類標籤 else 尋找劃分資料集的最好特徵 劃分資料集 建立分...

決策樹原理詳解

決策樹是機器學習中一種基本的分類和回歸演算法,是依託於策略抉擇而建立起來的樹。其主要優點是模型具有可讀性,分類速度快,易於理解。決策樹的思想主要 於quinlan在1986年提出的id3演算法和1993年提出的c4.5演算法,以及有breiman等人在1984年提出的cart演算法。1.什麼是決策樹...

決策樹演算法原理簡介

1,決策樹概念簡介 不同的演算法模型適合於不同型別的資料。首先,在了解樹模型之前,自然想到樹模型和線性模型有什麼區別呢?其中最重要的是,樹形模型是乙個乙個特徵進行處理,之前線性模型是所有特徵給予權重相加得到乙個新的值。決策樹與邏輯回歸的分類區別也在於此,邏輯回歸是將所有特徵變換為概率後,通過大於某一...