秦剛剛的機器學習成長之路之決策樹總結
阿新 • • 發佈:2018-12-26
決策樹之分類樹和迴歸樹
本文主要講解最常用的3種決策樹(ID、C4.5和CART),為了更加系統和全面的認識這3種常用的決策樹演算法,我將從以下4個部分進行講解:
1.決策樹學習演算法步驟有哪些?
2.常用的決策樹演算法有哪幾種?
3.決策樹剪枝
4.Gini指數與熵的關係
1.決策樹學習演算法步驟有哪些?
決策樹學習演算法通常包括以下3個步驟:
- 特徵選擇
選取對訓練資料具有分類能力的特徵。
換句話說,特徵選擇是決定用哪個特徵來劃分特徵空間。
特徵選擇的準則有資訊增益(ID3)、資訊增益比(C4.5)和基尼指數(CART中的分類樹)。 - 樹的生成
決策樹包括分類樹和迴歸樹。生成分類樹的方法有ID3,C4.5和CART分類樹,分別使用資訊增益,資訊增益比和基尼指數;生成迴歸樹的方法有CART迴歸樹,使用了最小二乘法(尋找最優切分變數與切分點)。 - 樹的剪枝
主要分為樹的剪枝演算法和CART剪枝演算法
2.常用的決策樹演算法介紹
決策樹演算法 | 特徵選擇準則 |
---|---|
ID3 | 資訊增益 |
C4.5 | 資訊增益比 |
CART(迴歸樹) | 最小二乘法 |
CART(分類樹) | 基尼指數 |
下面將對以上決策樹演算法進行詳細講解
-
1)ID3演算法
ID3演算法的核心是在決策樹各個結點上應用資訊增益準則選擇特徵,遞迴地構建決策樹。具體方法
資訊增益計算的公式為:
,k為類別數, 表示屬於類i的樣本個數, 表示整個資料集的樣本個數。
,其中,n表示D被特徵A劃分的個數, 表示 中屬於類k的樣本個數。資訊增益 表示由於特徵A而使得對資料集D的分類的不確定性減少的程度。顯然,對於資料集D而言,資訊增益依賴於特徵,不同的特徵往往具有不同的資訊增益。資訊增益大的特徵具有更強的分類能力。
==ID3演算法==
輸入:訓練資料集D,特徵A,閾值ε
輸出:決策樹T
(1)若D中所有例項屬於同一類Ck,則T為單結點樹,並將類Ck作為該結點的類標記,返回T;
(2)若A=∅,則T為單結點樹,並將D中例項數最大的類Ck作為該結點的類標記,返回T;
(3)否則,按照資訊增益公式計算A中各特徵對D的資訊增益,選擇資訊增益最大的特徵Ag;
(4)如果Ag的資訊增益小於閾值ε,則置T為單結點樹,並將D中例項數最大的類Ck作為該結點的類標記,返回T;
(5)否則,對Ag中每一可能值ai,依Ag=ai將D分隔為若干非空子集Di,將Di中例項數最大的類作為標記,構建子結點,由結點及其子結點構成樹T,返回T;
(6)對第i個子結點,以Di為訓練集,以A-{Ag}為特徵集,遞迴地呼叫步(1)~(5),得到子樹Ti,返回Ti。
- 2)C4.5演算法
C4.5演算法在ID3演算法的基礎上進行了改進,具體表現為在生成樹的過程中使用了資訊增益比,改進了ID3使用資訊增益容易產生過擬合的缺點。
特徵A對訓練資料集D的資訊增益比 定義為其資訊增益 與訓練資料集D關於特徵A的值的熵 之比,即:
其中, ,n是特徵A取值的個數。
C4.5生成演算法
輸入:訓練資料集D,特徵集A,閾值ε
輸出:決策樹T
(1)若D中所有例項屬於同一類Ck,則T為單結點樹,並將類Ck作為該結點的類標記,返回T;
(2)若A=∅,則T為單結點樹,並將D中例項數最大的類Ck作為該結點的類標記,返回T;
(3)否則,按照資訊增益比公式計算A中各特徵對D的資訊增益比,選擇資訊增益比最大的特徵Ag;
(4)如果Ag的資訊增益比小於閾值ε,則置T為單結點樹,並將D中例項數最大的類Ck作為該結點的類標記,返回T;
(5)否則,對Ag中每一可能值ai,依Ag=ai將D分隔為若干非空子集Di,將Di中例項數最大的類作為標記,構建子結點,由結點及其子結點構成樹T,返回T;
(6)對第i個子結點,以Di為訓練集,以A-{Ag}為特徵集,遞迴地呼叫步(1)~(5),得到子樹Ti,返回Ti。
- 3)CART演算法
CART(Classification And Regression Tree ) 跟前面兩種決策樹演算法一樣,都是由特徵選擇、樹的生成及剪枝組成,既可以做分類也可以做迴歸。 - CART迴歸樹
假設 與 分別為輸入和輸出變數,並且 是連續變數,給的訓練資料集
考慮如何生成迴歸樹。
一個迴歸樹對應著輸入空間的一個劃分以及在劃分的單元的輸出值。假設已將輸入空間劃分為 個單元 ,並且在每個單元