分類——決策樹模型
在分類問題中,表示基於特徵對例項進行分類的過程,可以認為是if-then的集合,也可以認為是定義在特徵空間與類空間上的條件概率分佈。
決策樹是一種預測模型,對未標識的例項進行分類;也是一種描述性模型,標識哪些誒特在可以將例項從不同類裡區分不來。決策樹分類器是基於資訊熵的學習。決策樹學習的本質:從訓練集中歸納出一組分類規則,或者說是由訓練資料集估計條件概率模型。決策樹原理和問答判斷相似,根據一系列資料,判斷是否,然後給出問題答案。因此決策樹分類器的可解釋性質較好。
決策樹學習用損失函式表示這一目標,其損失函式通常是正則化的極大似然函式,決策樹學習的策略是以損失函式為目標函式的最小化。
樹:
樹有三種型別的節點
- 根節點
- 內部節點
- 葉子節點
樹的節點包含一個資料元素及若干指向其子樹的分支。節點擁有的子樹數稱為結點的度(Degree)。度為0的結點稱為葉子節點(Leaf)或終端節點。度不為0的節點稱為非終端節點或分支節點。除根節點之外,分支節點也稱為內部節點。樹的度是樹內各節點的度的最大值。
資訊熵:
X 資訊熵定義為資訊的期望值。
資訊熵就是用來衡量一個隨機變數取值的不確定性的一個指標,資訊熵越大則不確定性越大,資訊熵越小則不確定性也就越小。
假設一個隨機變數X的概率分佈如下:
p ( x i ) 是選擇該分類的概率,n為分類數目,隨機變數X的資訊熵的計算公式如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-LTW2Y3dB-1603437684841)(C:\Users\RUCchen\AppData\Roaming\Typora\typora-user-images\image-20201023103353676.png)]
條件熵:
設二維隨機變數(X, Y)的概率分佈為:
隨機變數X給定條件下隨機變數Y的條件熵表示為H(Y|X),已知隨機變數X的情況下隨機變數Y的不確定性,給定X的條件下隨機變數Y的熵對於X的期望值,其定義如下:
當熵和條件熵中的概率由資料估計(特別是極大似然估計)得到時,所對應的分別為經驗熵和經驗條件熵,此時如果有0概率,令0*log0 = 0。
資訊增益
給定X的能夠使隨機變數Y的確定性增加的程度。對於特徵a對於資料集D的資訊增益是g(D,a),定義為在集合D的資訊熵H(D)和特徵a給定條件下D的經驗條件熵H(D|a)之差,即:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-HXE4Ywse-1603437684844)(C:\Users\RUCchen\AppData\Roaming\Typora\typora-user-images\image-20201023103921618.png)]
顯然,對於資料集D而言,資訊增益依賴於特徵,不同的特徵往往具有不同的資訊增益,資訊增益大的特徵具有更強的分類能力。根據資訊增益準則的特徵選擇方法:對訓練資料集(或子集)D,計算其每個特徵的資訊增益,並比較它們的大小,選擇資訊增益最大的特徵。
1.先計算資訊熵 2.算特徵下的的條件熵 3.算資訊增益
資訊增益率
資訊增益值的大小是相對於訓練資料集而言的,並沒有絕對意義。在訓練資料集的資訊熵大的時候,資訊增益值會偏大。反之,資訊增益值會偏小。使用資訊增益率(information gain ratio)可以對這一問題進行校正。
基尼係數
基尼指數是另一個選擇的標準,代表了從樣本中任意選擇兩個樣本,類別不一致的概率,所以基尼指數越小,代表樣本純度越高。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-rI7aUZTm-1603437684845)(C:\Users\RUCchen\AppData\Roaming\Typora\typora-user-images\image-20201023112747978.png)]
屬性a的基尼指數定義為屬性a各類樣本比率的基尼指數和:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-SS0zbLnH-1603437684847)(C:\Users\RUCchen\AppData\Roaming\Typora\typora-user-images\image-20201023112831745.png)]
構建決策樹
決策樹學習的演算法通常是一個遞迴地選擇最優特徵,並根據該特徵對訓練資料進行分割,使得各個子資料集有一個最好的分類的過程。
1) 開始:構建根節點,將所有訓練資料都放在根節點,選擇一個最優特徵,按著這一特徵將訓練資料集分割成子集,使得各個子集有一個在當前條件下最好的分類。
2) 如果這些子集已經能夠被基本正確分類,那麼構建葉節點,並將這些子集分到所對應的葉節點去。
3)如果還有子集不能夠被正確的分類,那麼就對這些子集選擇新的最優特徵,繼續對其進行分割,構建相應內部節點,如果遞迴進行,直至所有訓練資料子集被基本正確的分類,或者沒有合適的特徵為止。
4)每個子集都被分到葉節點上,即都有了明確的類,這樣就生成了一顆決策樹。
如何決定什麼時候停止分支呢?
我們可以這樣設定,當某個節點的資訊熵小於某個閾值時我們就停止對這個節點的分支操作,那麼此節點也就成為了葉子節點。
最終我們需要確定每個葉子結點的類別,即葉子結點中的樣本集中,佔比最大的那一個類別便是當前葉子節點的類別,當新來一個樣本我們只需要按照決策樹從頂層向下逐步判斷,看樣本最終落入那個葉子結點,所落入的葉子結點的類別便是當前樣本的預測類別。
ID3演算法
在決策樹各個結點上應用資訊增益準則選擇特徵,遞迴地構建決策樹。具體方法是:從根結點開始,對結點計算所有可能的特徵的資訊增益,選擇資訊增益最大的特徵作為根結點的特徵,由該特徵的不同取值建立子結點。之後,對子結點遞迴地呼叫以上方法,構建決策樹,直到所有特徵的資訊增益均很小或沒有特徵可以選擇為止,最終得到一個決策樹。ID3相當於用極大似然法進行概率模型的選擇。
輸入:訓練資料集合D,特徵集A,閾值ϵ
輸出:決策樹T
1.若D中所有例項屬於同一類Ck則T為單結點樹,並將類Ck作為該結點的類標記,返回決策樹T
2.若A是空集,T為單節點樹,並將D的例項樹最大的類Ck作為該節點的類標記,返回決策樹
3.否則,計算A各特徵對D的資訊增益,選擇資訊增益最大的特徵a
4.如果a的資訊增益小於閾值ϵ,則T為單節點數,將D裡的例項樹最大的類Ck作為該節點
5.否則對於a的每一個可能值a*,按照a=a*將D分割為若干非空子集Dv,將Dv裡的例項數最大的類作為該節點,構建子節點,由節點和子節點構成決策樹T,返回決策樹T。
6.對第 v個子結點,以Dv為訓練集,以A−{a}為特徵集,遞迴地呼叫第(1)步~第(5)步,得到子樹T
C4.5演算法
C4.5決策樹演算法不直接使用資訊增益來選擇劃分屬性,而是使用資訊增益率來選擇最優劃分屬性。
資訊增益率越大就優先變成為節點。
評價
引數學習:先假定資料屬於一定的分佈,然後再進行操作
非引數學習:不做先驗假設
決策樹演算法:
屬於非引數學習;有強的解釋力;計算效率不一定高;
在訓練資料集合具有相關性(比如多重共線性)則不用決策樹模型;
決策樹模型對於處理移失值具有優勢(利用基於概率的切分方法、基於替換的切分方法等)
非引數學習:不做先驗假設
決策樹演算法:
屬於非引數學習;有強的解釋力;計算效率不一定高;
在訓練資料集合具有相關性(比如多重共線性)則不用決策樹模型;
決策樹模型對於處理移失值具有優勢(利用基於概率的切分方法、基於替換的切分方法等)
相關文章
- 決策樹模型(3)決策樹的生成與剪枝模型
- 分類演算法-決策樹 Decision Tree演算法
- 決策樹模型(2)特徵選擇模型特徵
- 機器學習——決策樹模型機器學習模型
- 決策樹模型(1)總體介紹模型
- 決策樹模型(4)Cart演算法模型演算法
- 決策樹
- 淺談樹模型與整合學習-從決策樹到GBDT模型
- 機器學習——決策樹模型:Python實現機器學習模型Python
- 決策樹示例
- 指南:不平衡分類的成本敏感決策樹(附程式碼&連結)
- 機器學習實戰(三)決策樹ID3:樹的構建和簡單分類機器學習
- 從線性模型到決策樹再到深度學習的分位數迴歸模型深度學習
- 圖解機器學習 | 決策樹模型詳解圖解機器學習模型
- 機器學習西瓜書吃瓜筆記之(二)決策樹分類 附一鍵生成決策樹&視覺化python程式碼實現機器學習筆記視覺化Python
- 4. 決策樹
- Decision tree——決策樹
- 決策樹(Decision Tree)
- SKlearn中分類決策樹的重要引數詳解
- Python機器學習:決策樹001什麼是決策樹Python機器學習
- 機器學習之使用sklearn構造決策樹模型機器學習模型
- 決策樹演算法演算法
- ML《決策樹(三)CART》
- 機器學習:決策樹機器學習
- 關於決策樹的理解
- 決策樹學習總結
- 決策樹和隨機森林隨機森林
- 機器學習演算法(五):基於企鵝資料集的決策樹分類預測機器學習演算法
- 機器學習之決策樹機器學習
- 大資料————決策樹(decision tree)大資料
- ML《決策樹(一)ID3》
- ML《決策樹(二)C4.5》
- 文字分類模型文字分類模型
- 決策邊界視覺化,讓你的分類合理有序視覺化
- 【Python機器學習實戰】決策樹和整合學習(二)——決策樹的實現Python機器學習
- 演算法金 | 突破最強演算法模型,決策樹演算法!!演算法模型
- 大語言模型LLM如何與人類共同做出戰略決策?模型
- 02決策樹-初識與構建