分類決策樹

2021-08-09 05:30:14 字數 2686 閱讀 9188

決策樹是乙個簡單易用的機器學習演算法,具有很好的實用性。在風險評估、資料分類、專家系統中都能見到決策樹的身影。決策樹其實是一系列的if-then規則的集合,它有可讀性良好,分類速度快等優點。

把決策樹看成是一些if-then規則的集合,在每一層樹上根據屬性的值判斷走勢,至到遇到葉節點,葉節點對應的就是該資料的歸類。

決策時的幾個名詞:

根節點(最重要的特徵);

父節點與子節點是一對,先有父節點,才會有子節點;

葉節點(最終標籤)。

決策樹生成演算法遇到的第乙個問題就是特徵選擇問題,即第一次、第二次...第n次應該根據哪個屬性來劃分資料。這裡需要引入幾個概念:

熵:

是衡量變數不確定性的一種度量方式。熵越大表示變數的不確定性越大,反之,則越小。定義熵的大小為:

從熵的計算公式可以看出——0 ≤ h(x) ≤ logn

pi等於0或1時,h(x)=0,所以說熵越小不確定性越小,當熵等於0時,就喪失了不確定性。

條件熵:

條件熵表示在已知隨機變數x的條件下隨機變數y的不確定性大小,記為:

資訊增益:

定義為集合d的經驗熵h(d)與特徵a給定的條件下d的條件熵h(d/a)之差:g(d,a) = h(d) - h(d/a)

ok回到生成決策樹上面,我們現在需要的是計算使得g(d,a)值最大的特徵a,即求出:

除了上面介紹的資訊增益,還有一種作為特徵選擇的準則:資訊增益比。由於在計算資訊增益的過程中,如果乙個特徵它的取值較多的話,對應的資訊增益值也會比其他特徵對應的資訊增益值高,這樣就會導致在特徵選擇上出現不公平的現象。資訊增益比計算公式:

生成決策樹的演算法有三類:

id3c4.5

cart(分類回歸樹)

id3是基礎,c4.5演算法是從id3的基礎上發展而來的(在id3的演算法上進行改進,引入了資訊增益比來作為特徵選擇的準則)。cart(分類回歸樹)是一種二叉決策樹,它既能用於分類也可以用於回歸。cart一般用基尼指數(gini index)最小化準則進行特徵選擇。

剪枝:

在機器學習中有乙個很常見的問題——過擬合,就是指模型在對訓練資料的**結果上往往能達到很高的準確率,但對新的未知資料卻達不到那麼高的準確率。在決策樹的生成過程中往往會出現過擬合現象,所以需要對決策樹進行剪枝。

剪枝的過程就是通過極小化決策樹的損失函式:

|t|表示葉結點的個數,t表示樹的葉結點,nt代表葉結點t的樣本點數;α用來控制模型與訓練資料的擬合程度跟模型複雜度|t|之間的影響。

乙個python例項(包含全部資料集和**)見github

readme資訊:

a implement of decision tree with python

decision_tree.py : build decison tree with c4.5 algorithm  // 採用了c4.5生成決策樹演算法

iristrain.txt : train datasets

iristest.txt : test datasets

再論決策樹之——決策時和線性模型、回歸模型的區別

樹形模型是乙個乙個特徵進行處理,而線性模型是所有特徵給予權重相加得到乙個新的值。

決策樹與邏輯回歸的分類區別也在於此。邏輯回歸是將所有特徵變換為概率後,通過大於某一概率閾值的劃分為一類,小於某一概率閾值的為另一類;而決策樹是對每乙個特徵做乙個劃分。另外邏輯回歸只能找到線性分割(輸入特徵xlogit之間是線性的,除非對x進行多維對映),而決策樹可以找到非線性分割。

樹形模型更加接近人的思維方式,可以產生視覺化的分類規則,產生的模型具有可解釋性(可以抽取規則)。樹模型擬合出來的函式其實是分區間的階梯函式。

再論決策樹之——決策樹思想,實際上就是尋找最純淨的劃分方法

這個最純淨在數學上叫純度,純度通俗點理解就是目標變數要分得足夠開(y=1的和y=0的混到一起就會不純)。另一種理解是分類誤差率的一種衡量。實際決策樹演算法往往用到的是,純度的另一面也即不純度,下面是不純度的公式:

不純度的選取有多種方法,每種方法也就形成了不同的決策樹方法,比如id3演算法使用資訊增益作為不純度;c4.5演算法使用資訊增益率(比)作為不純度;cart演算法使用基尼係數作為不純度。

決策樹分類

一 分類的概念 分類是一種重要的資料分析形式,分類方法用於 資料物件的離散類別,而 則用於 資料物件的連續取值 資料分類是兩個階段的過程,包括學習階段和分類階段 學習階段 訓練階段 就是建立描述預先定義的資料類或概念集的分類器 而訓練集是有資料庫元祖和與他們相互關聯的類標號組成 類標號屬性是離散值和...

分類決策樹

決策樹是基於特徵對例項進行分類的樹形結構。決策樹學習演算法包括 特徵選擇 樹的生成和樹的剪枝。2.1.id3 1 針對當前的集合,計算每個特徵的資訊增益 2 選擇資訊增益最大的特徵作為當前節點的決策決策特徵 3 根據特徵不同的類別劃分到不同的子節點 比如年齡特徵有青年,中年,老年,則劃分到3顆子樹 ...

決策樹分類

決策樹 decision tree 又稱為判定樹,是運用於分類的一種樹結構。當中的每乙個內部結點 internal node 代表對某個屬性的一次測試,每條邊代表乙個測試結果,葉結點 leaf 代表某個類 class 或者類的分布 class distribution 最上面的結點是根結點。決策樹分...