分類演算法 決策樹演算法

2021-07-12 05:49:13 字數 2495 閱讀 8404

決策樹是一種對例項進行分類的樹形結構,也是一種基本的分類與回歸方法。決策樹由結點(node)和有向邊(directed edge)組成。結點又分為兩種型別:內部結點(internal node)和葉結點(leaf node),內部結點表示乙個特徵或屬性,葉結點表示乙個分類。

如下圖所示為乙個決策樹模型:

決策樹的學習還表示給定特徵條件下類的條件概率分布,下面的圖示說明了決策樹的一條路徑對應於劃分中的乙個單元,

在分類時是依據被分類項屬於某一類的概率的大小,將其劃分到概率較大的那一類中去。

決策樹的學習就是從訓練資料集中歸納出一組分類規則(這裡可以說與if-then規則對應),這組與訓練資料集不相矛盾的規則(對應著一棵決策樹)可能有多個/可能乙個也沒有,但我們需要找的是矛盾較小的決策樹,同時具有泛化能力。即這組規則對應的模型不公應該對訓練資料有很好的擬合,而且對未知資料也有很好的**。

所以決策樹的學習策略是以損失函式為目標函式的最小化,整個學習過程可以分為:特徵選擇、決策樹的生成以及決策樹的剪枝三步。

1、特徵選擇:即選取對訓練資料具有分類能力的特徵

這裡先引入資訊增益的概念:

「熵」表示隨機變數不確定性的度量,

而熵只依賴於x的分布與x具體取值無關,所以可記為如下(可以看到熵越大,隨機變數的不確定性就越大):

「條件熵h(y|x)」表示在已知隨機變數x的條件下隨機變數y的不確定性:

「資訊增益」特徵a對訓練資料集d的資訊增益g(d,a)定義為集合d的經驗熵h(d)與特徵a給定條件下d的經驗條件熵h(d)(熵h(y)與條件熵h(y|x)之差稱為互資訊,所以決策樹學習過程中的資訊增益也就是我們所說的訓練集中類與牲的互資訊):

有了上面的概念,就可以根據資訊增益準則進行特徵的選擇:對訓練集d,計算其每個特徵的資訊增益,並比較它們的大小,選擇資訊增益最大的特徵。

以實際例子說明,如下表希望通過所給的訓練資料學習乙個貸款申請的決策樹,用以對未來貸款申請進行分類,即當新客戶提出貸款申請時,根據申請人的特徵利用決策樹決定是否批准貸款申請

由上表可知一共有4個特徵可供選擇:年齡、是否有工作、是否有自己的房子以及信貸情況,任何選取乙個特徵都可以進行分類,問題是選取啊個特徵分類更好呢?

(1)計算經驗熵:

(2)分別計算四個特徵對資料集d的資訊增益(以a1、a2、a3和a4表示年齡、是否有工作、是否有自己的房子和信貸情況),則有以下:

由上面的結果清楚得到特徵a3的資訊增益值最大,所以第一次選擇特徵a3作為最優特徵。

'''以資訊增益作為劃分訓練集的特徵時,存在偏向於選擇取值較多的特徵的問題,而使用資訊增益比的話可以進行校正。資訊增益比定義為:特徵a對訓練集d的資訊增益比gr(d,a)定義為其資訊增益g(d,a)與訓練集d關於特徵a的值的熵ha(d)之比:

'''2、決策樹生成

理解了上面的東東後,決策樹的生成分為兩種id3和c4.5演算法

(1)id3演算法:在決策樹各個結點上應用資訊增益準則選擇特徵,遞迴地構建決策樹

從根結點開始,對各特徵計算資訊增益,選擇資訊增益最大的特徵作為結點特徵,由該特徵的不同值再建立子結點;再對子結點遞迴地呼叫以上方法,構建決策樹;直到所有特徵資訊增益均很小或沒有特徵可以選擇為止:

(2)c4.5演算法:與id3演算法類似,只是在生成過程選擇資訊增益比來選擇特徵

3、決策樹剪枝:以上方法生成的決策樹可能對訓練集資料有很好的分類能力,而對於新的未知資料卻分類效果不好,這就是所謂的過擬合現象。因此可以對生成的決策樹自下而上進行剪枝,即去掉過於細分的葉結點,使其回退到父結點,甚至更高的結點,然後將父結點或更高的結點改為新的葉結點,從而使其具有更好的泛化能力。

決策樹的剪枝通過極小化決策樹的整體損失函式(也稱代價函式)來實現。損失函式如下:

即:c(t)表示模型對訓練資料的**誤差,即模型與訓練資料的擬合程度:

經驗熵為:

分類 決策樹演算法

匯入sklearn的內嵌鳶尾花資料集 from sklearn.datasets import load iris 匯入決策樹分類器,同時匯入計算交叉驗證值的函式cross val score from sklearn.tree import decisiontreeclassifier from ...

R分類演算法 決策樹演算法

它通過對訓練樣本的學習,並建立分類規則,然後依據分類規則,對新樣本資料進行分類 屬於有監督學習。優點 決策樹有易於理解和實現 決策樹可處理數值型和非數值型資料 基於條件的決策樹在party包裡 install.packages party ctree formula,data predic資料 pr...

決策樹(decision tree)分類演算法

2.1 決策樹 decision tree 分類演算法 決策樹是以例項為基礎的歸納學習演算法。它從一組無次序 無規則的元組中推理出決策樹表示形式的分類規則。它採用自頂向下的遞迴方式,在決策樹的內部結點進行屬性值 的比較,並根據不同的屬性值從該結點向下分支,葉結點是要學習劃分的類。從根到葉結點的一條路...