決策樹模型

2021-09-28 15:21:10 字數 2909 閱讀 7634

前言 決策樹生成模型三要素

一般而言,一顆「完全生長」的決策樹包含:特徵選擇、決策樹構建、剪枝三個過程。

決策樹是一種啟發式貪心演算法,每次選取的分割資料的特徵是當前的最佳選擇,並不關心是否達到最優。

一、特徵選擇

1.1 熵(樣本集合「純度」/不確定性/穩定性的指標;熵越大,樣本的不確定性就越大

在決策樹的生成過程中,使用了熵來作為樣本最優屬性劃分的依據。

是描述樣本集合「純度」/穩定性的一種指標;

熵越小,純度越高/穩定性越高;

假定當前樣本集合d中第k類樣本所佔的比列為pk,則d的資訊熵定義為:

ent(d)的值越小,則d的純度越高。

1.2 資訊增益(id3演算法)

以某個特徵劃分資料集前後,熵的差值。熵越大,樣本的不確定性就越大。

因此,可以使用劃分前後集合熵的差值來衡量使用當前特徵對於樣本集合d劃分效果的好壞。

使用某個特徵a劃分資料集d,計算劃分後的資料子集的熵

資訊增益 = entropy(前) - entropy(後)

id3模型:基於資訊增益來選擇最合適的特徵進行劃分

id3模型的做法:計算使用所有特徵劃分資料集d,得到多個特徵劃分資料集d的資訊增益,從這些資訊增益中選擇最大的,因而當前結點的劃分特徵便是使資訊增益最大的劃分所使用的特徵。

理解:在決策樹構建的過程中,我們總是希望集合往最快到達純度更高的子集合(子集的不確定性越小)方向發展,因此,我們總是選擇使得資訊增益更大的特徵來劃分當前資料集合。

缺點:資訊增益偏向取值較多的特徵

原因:當特徵的取值較多時,根據此特徵劃分更容易得到純度更高的子集,因此劃分之後的熵更低,由於劃分前的熵是一定的,因此資訊增益更大,因此,資訊增益偏向取值較多的特徵。

解決方法:資訊增益比(c4.5演算法)

1.3 資訊增益率(c4.5演算法)

在資訊增益的基礎上,加入乙個懲罰引數:

資訊增益比= 懲罰引數*資訊增益

**資訊度量:

1.4 基尼係數(cart樹中使用)

基尼指數同樣可以描述乙個隨機變數不確定性的程度,當p1=p2=...=pk=1/k時,g(p)取得最大值,此時隨機變數最不確定。

公式:

屬性a的基尼指數:gini_index(d,a) = sum(每個子樹的基尼係數*佔比)

在候選屬性集合中,選取那個使劃分後基尼指數最小的屬性。

二、 決策樹生成/構建

2.1 總體流程:

分而治之:

自根至葉的遞迴過程

在每個中間結點尋找乙個「劃分」屬性

2.2 樹進行遞迴的終止條件是什麼:

1. 當前節點包含的樣本屬於同一種類別,無需劃分(樣本標籤一樣);

2. 當前屬性集為空,或是所有樣本在所有屬性上取值相同,無法劃分(特徵屬性用完了,無法再進行劃分);

3. 樣本集為空。

三、 決策樹剪枝演算法

演算法目的:決策樹的剪枝就是為了簡化樹模型,避免過擬合

演算法基本思路:減去決策樹模型中的一些子樹或者葉節點,並將其根節點作為新的葉結點,從而實現模型的簡化。

決策樹的剪枝通過極小化決策樹整體的損失函式來實現。

這裡的經驗熵反應了乙個葉節點中的分類結果的混輪程度,經驗熵越大,說明該葉節點所對應的分類結果越混亂,也就說分類結果中包含了較多的類別,表明該分支的分類效果較差。所以,損失函式越大,說明模型的分類效果越差。

決策樹的剪枝通常分為兩種,即預剪枝、後剪枝。

預剪枝是在決策樹生成過程中,對樹進行剪枝,提前結束樹的分支生長。

後剪枝是在決策樹生長完成後,對樹進行剪枝,得到簡化版的決策樹

學習演算法(後剪枝步驟:)

三、cart演算法

cart模型,即分類與回歸樹(classification and regression tree, cart),同樣由特徵選擇、樹的生成及剪枝組成,既可以用於分類也可以用於回歸。

3.1 cart生成

3.1.1 回歸樹的生成

最小二乘回歸樹生成演算法:

要點:1)每次關於(j,s)的尋找,先對特徵進行遍歷,再對特徵的取值進行遍歷;這是一種啟發式的貪婪演算法,只考慮當前步驟的切分最優,不考慮全域性步驟最優;

2)判斷是否最優的標準為mse最小;

3)切分後的空間,取值為在此空間下的樣本均值;

3.1.2 分類樹的生成

cart生成演算法:每次遍歷所有(特徵,切分點),選取切分後基尼係數最小的(特徵,切分點)進行切分;迴圈上述步驟,直到不能再分為止。

決策樹模型

決策樹採用樹結構來進行決策的,可以認為是if then規則集合,也可以認為是對特徵空間劃分,每個子空間對應乙個輸出。其優點簡單,快速,可解釋性強。決策樹通常包含三部分 特徵選擇,決策樹生成,決策樹剪枝。資訊增益,資訊增益比,基尼指數是常用的特徵選擇準則 資訊熵 表示變數的不確定程度,資訊熵越大不確定...

決策樹模型

決策樹可以簡單的理解為根據特徵的取值而最終分成不同的類,也可以理解為簡單的if then的規則集合 樹嘛 那麼怎麼樣選擇節點是乙個很有技術的問題。為什麼呢,因為如果你的中間節點擊的不錯是不是就能夠很容易的將決策樹的各個節點很容易的分清楚了 說白了,你選的樹分叉的地方越有區分度 分類越多越好你乙個特徵...

決策樹模型

決策樹的目標是從一組樣本資料中,根據不同的特徵和屬性,建立一棵樹形的分類結構。決策樹的學習本質上是從訓練集中歸納出一組分類規則,得到與資料集矛盾較小的決策樹,同時具有很好的泛化能力。決策樹學習的損失函式通常是正則化的極大似然函式,通常採用啟發式方法,近似求解這一最優化問題。對於樣本集合d,類別數為k...