感性理解 決策樹ID3 C4 5 CART

2021-09-26 18:30:15 字數 2429 閱讀 3436

決策樹

先舉例子,如下:左子樹熱戀,右子樹單身。決策樹的演算法是如何構建,而不是如何用。

決策樹分兩大類分類樹和回歸樹。其中,分類樹比如c4.5、id3決策樹,分類樹用於分類標籤值,那麼回歸樹的話,用於**實際的值比如,溫度,年齡,相關程度。分類樹的輸出是定性的,回歸樹的輸出是定量的。

構造決策樹的過程

決策樹的特徵選擇 ——> 決策樹的生成(id3,c4.5........) ——>  決策樹的剪枝

決策樹的特徵選擇:因為決策樹是分類做決策的,那麼對分類有影響的,就是決策樹的特徵,那麼在決策樹演算法中,專業稱之為資訊增益,或資訊增益比(算資訊增益和資訊增益比,就是來求這個特徵)。這個是決策樹的第乙個步驟,即特徵選擇。

決策樹的生成:當完成特徵選擇後,如何生成呢?就是確定那個點是根節點,那個是子節點,(資訊增益對應的決策樹演算法就是id3演算法;資訊增益比對應的決策樹演算法就是c4.5)資訊增益最大的根節點。

決策樹的 剪枝:如果一顆樹只針對乙個訓練集來生成一棵樹。那可能這棵樹只適用於這個訓練集。那這時候很可能出現過擬合。 所以,為了更好的泛化,我們要把那些只適合這個訓練集,或者說非常極端的枝葉給它剪掉。這個過程就叫剪枝,目的是防止過擬合。 

經過第二步的決策樹的生成,只能得到片面的區域性最優化,那如何得到全域性最優化呢?那就應該作乙個決策樹的剪枝。通俗點說,就是把多餘的枝枝葉葉剪掉,讓其更具有普適性。

如何計算特徵值

資訊增益

對應id3演算法

輸入:訓練集d和特徵集a

輸出:特徵a對訓練資料集d的資訊增益g(d,a)

(1) 計算資料集d的經驗熵h(d)

(2)計算特徵a對資料集d的經驗條件熵h(d|a)

(3) 計算資訊增益

資訊增益比

對應c4.5演算法

資訊增益與訓練資料集d關於特徵a的值的熵之比:

其中,

,n是特徵a取值的個數。

資訊增益會偏向取值更多的屬性,而資訊增益比不會。

id3演算法

輸入:訓練資料集,特徵集a,闋值ε;

輸出:決策樹t

(1)若d中所有例項屬於同一類別ck,則t為單結點樹,並將ck作為該節點的類標記,返回t;

(前幾步都是幾種特殊情況,第一步,是講如果說d中的所有例項屬於同一類 ,那麼這個樹就是乙個單節點樹,通俗點講,所有資料集都是同一類,那構造的樹肯定是單節點了。   )

(2)若a=∅,則t為單結點樹,並將d中例項數最大的類ck作為該節點的類標記,返回t;

(這一步是說,我的特徵集是a,那麼t也是作為單節點樹,通俗點講,就是我沒有特徵集,那我就在整個資料集當中選擇乙個類別次數最多的  ,這個類別作為整個資料集的乙個類別。)

(3)否則,按演算法5.1計算a中個特徵對d的資訊增益,選擇資訊增益最大的的特徵ag;

(如果上述的特殊情況都不存在,就執行真正計算的過程。)

(4)若ag的資訊增益小於闋值ε,則置a為單結點樹,並將d中例項數最大的類ck作為該節點的類標記,返回t;

(如果資訊增益計算出來的非常小,意味著特徵沒有劃分性,  )

(5)否則,對ag的每一可能值ai,依ag=ai將d分割為若干非空子集di,將di中例項數最大的類作為標記,構建子結點,由節點及其子結點構成樹t,返回樹t;

(真正的構造決策樹,對特徵集當中的每個可能值,將這個資料集d劃分為若干個非空子集,即,每個資料集d都會取最大類別,作為這個類別的標記  )

(6)對第i個子結點,以di為訓練集,以a-為特徵集,遞迴的呼叫(1)~(5),得到字數ti,返回ti;

(不斷迴圈迭代上述過程)

決策樹的剪枝

採用極小化決策樹整體的損失函式。

決策樹只考慮了通過提高資訊增益(或資訊增益比)對訓練資料進行更好的擬合。而決策樹的剪枝通過優化損失函式還考慮了減少模型複雜度。

決策樹生成學習區域性的模型,而決策樹剪枝學習整體的模型。

cart(分類回歸樹)

既可以分類也可以回歸。

遞迴的構建二叉決策樹,如果是分類用基尼指數最小化準則進行特徵選擇,如果是回歸用平方誤差最小化準則。(兩種構建方式)

找到最優切分變數j和最優切分點s

剪枝過程:

(1)形成乙個子樹序列 ; (2) 在子樹序列中通過交叉驗證選取最優子樹。

理解ID3決策樹

決策樹是乙個樹形結構,類似下面這樣 上圖除了根節點外,有三個葉子節點和乙個非葉子節點。使用決策樹來分類某個樣本資料,就是利用根節點擊取的特徵,將當前輸入樣本劃分到根節點下的某個子節點上,然後再利用子節點表示的特徵來將當前樣本劃分到該子節點下的某個子節點上,以此繼續,直到到達某個葉子節點,那麼這個葉子...

機器學習 決策樹C4 5 ID3

step1 計算資訊熵 step2 劃分資料集 step3 建立決策樹 step4 利用決策樹分類 重點 選擇乙個屬性進行分支。注意資訊熵計算公式。決策樹作為典型的分類演算法,基本思路是不斷選取產生資訊增益最大的屬性來劃分樣例集和,構造決策樹。資訊增益定義為結點與其子結點的資訊熵之差。1.資訊熵計算...

決策樹演算法ID3,C4 5, CART

決策樹是機器學習中非常經典的一類學習演算法,它通過樹的結構,利用樹的分支來表示對樣本特徵的判斷規則,從樹的葉子節點所包含的訓練樣本中得到 值。決策樹如何生成決定了所能處理的資料型別和 效能。主要的決策樹演算法包括id3,c4.5,cart等。id3是由 ross quinlan在1986年提出的一種...