決策樹演算法

2021-10-01 15:45:49 字數 2125 閱讀 9783

一、決策樹分類原理

決策樹是通過一系列規則對資料進行分類的過程。它提供一種在什麼條件下會得到什麼值的類似規則的方法。決策樹分為分類樹和回歸樹兩種,分類樹對離散變數做決策樹,回歸樹對連續變數做決策樹。

近來的調查表明決策樹也是最經常使用的資料探勘演算法,它的概念非常簡單。決策樹演算法之所以如此流行,乙個很重要的原因就是使用者基本上不用了解機器學習演算法,也不用深究它是如何工作的。直**上去,決策樹分類器就像判斷模組和終止塊組成的流程圖,終止塊表示分類結果(也就是樹的葉子)。判斷模組表示對乙個特徵取值的判斷(該特徵有幾個值,判斷模組就有幾個分支)。

如果不考慮效率等,那麼樣本所有特徵的判斷級聯起來終會將某乙個樣本分到乙個類終止塊上。實際上,樣本所有特徵中有一些特徵在分類時起到決定性作用,決策樹的構造過程就是找到這些具有決定性作用的特徵,根據其決定性程度來構造乙個倒立的樹–決定性作用最大的那個特徵作為根節點,然後遞迴找到各分支下子資料集中次大的決定性特徵,直至子資料集中所有資料都屬於同一類。所以,構造決策樹的過程本質上就是根據資料特徵將資料集分類的遞迴過程,我們需要解決的第乙個問題就是,當前資料集上哪個特徵在劃分資料分類時起決定性作用。

為了找到決定性的特徵、劃分出最好的結果,我們必須評估資料集中蘊含的每個特徵,尋找分類資料集的最好特徵。完成評估之後,原始資料集就被劃分為幾個資料子集。這些資料子集會分布在第乙個決策點的所有分支上。如果某個分支下的資料屬於同一型別,則則該分支處理完成,稱為乙個葉子節點,即確定了分類。如果資料子集內的資料不屬於同一型別,則需要重複劃分資料子集的過程。如何劃分資料子集的演算法和劃分原始資料集的方法相同,直到所有具有相同型別的資料均在乙個資料子集內(葉子節點)。

二、決策樹的學習過程

一棵決策樹的生成過程主要分為以下3個部分:

特徵選擇:特徵選擇是指從訓練資料中眾多的特徵中選擇乙個特徵作為當前節點的**標準,如何選擇特徵有著很多不同量化評估標準標準,從而衍生出不同的決策樹演算法。

決策樹生成: 根據選擇的特徵評估標準,從上至下遞迴地生成子節點,直到資料集不可分則停止決策樹停止生長。 樹結構來說,遞迴結構是最容易理解的方式。

剪枝:決策樹容易過擬合,一般來需要剪枝,縮小樹結構規模、緩解過擬合。剪枝技術有預剪枝和後剪枝兩種。

三、基於資訊理論的三種決策樹演算法

劃分資料集的最大原則是:使無序的資料變的有序。如果乙個訓練資料中有20個特徵,那麼選取哪個做劃分依據?這就必須採用量化的方法來判斷,量化劃分方法有多重,其中一項就是「資訊理論度量資訊分類」。基於資訊理論的決策樹演算法有id3、cart和c4.5等演算法,其中c4.5和cart兩種演算法從id3演算法中衍生而來。

cart和c4.5支援資料特徵為連續分布時的處理,主要通過使用二元切分來處理連續型變數,即求乙個特定的值-**值:特徵值大於**值就走左子樹,或者就走右子樹。這個**值的選取的原則是使得劃分後的子樹中的「混亂程度」降低,具體到c4.5和cart演算法則有不同的定義方式。

id3演算法由ross quinlan發明,建立在「奧卡姆剃刀」的基礎上:越是小型的決策樹越優於大的決策樹(be ******簡單理論)。id3演算法中根據資訊理論的資訊增益評估和選擇特徵,每次選擇資訊增益最大的特徵做判斷模組。id3演算法可用於劃分標稱型資料集,沒有剪枝的過程,為了去除過度資料匹配的問題,可通過裁剪合併相鄰的無法產生大量資訊增益的葉子節點(例如設定資訊增益閥值)。使用資訊增益的話其實是有乙個缺點,那就是它偏向於具有大量值的屬性–就是說在訓練集中,某個屬性所取的不同值的個數越多,那麼越有可能拿它來作為**屬性,而這樣做有時候是沒有意義的,另外id3不能處理連續分布的資料特徵,於是就有了c4.5演算法。cart演算法也支援連續分布的資料特徵。

c4.5是id3的乙個改進演算法,繼承了id3演算法的優點。c4.5演算法用資訊增益率來選擇屬性,克服了用資訊增益選擇屬性時偏向選擇取值多的屬性的不足在樹構造過程中進行剪枝;能夠完成對連續屬性的離散化處理;能夠對不完整資料進行處理。c4.5演算法產生的分類規則易於理解、準確率較高;但效率低,因樹構造過程中,需要對資料集進行多次的順序掃瞄和排序。也是因為必須多次資料集掃瞄,c4.5只適合於能夠駐留於記憶體的資料集。

cart演算法的全稱是classification and regression tree,採用的是gini指數(選gini指數最小的特徵s)作為**標準,同時它也是包含後剪枝操作。id3演算法和c4.5演算法雖然在對訓練樣本集的學習中可以盡可能多地挖掘資訊,但其生成的決策樹分支較大,規模較大。為了簡化決策樹的規模,提高生成決策樹的效率,就出現了根據gini係數來選擇測試屬性的決策樹演算法cart。

決策樹演算法

決策樹是一種樹型結構,其中每個內部結點表示在乙個屬性上的測試,每個分支代表乙個測試輸出,每個葉結點代表一種類別。決策樹學習是以例項為基礎的歸納學習,採用的是自頂向下的遞迴方法,其基本思想是以資訊熵為度量構造一棵熵值下降最快的樹,到葉子結點處的熵值為零,此時每個葉節點中的例項都屬於同一類。決策樹學習演...

決策樹演算法

本文主要介紹id3 c4.5和cart演算法 決策樹起源於概念學習系統 cls 概念學習模型 是乙個事先定義的範疇集合和一些有關例子是否落入給定範疇的判定 概念學習的主要任務 是判斷所給定事物的屬性或特性,並且正確地區分這些事物,將其劃分到某乙個範疇 對於如下決策樹模型 我們首先考慮他的屬性outl...

決策樹演算法

引 最近老師布置了課堂展示的作業,主題是決策樹,老師還舉了買西瓜的決策例子,感覺貼近生活也很有意思。在這之前沒有了解過這個概念,通過幾個禮拜的學習收穫不少。一 首先,什麼是決策樹?個人而言,決策樹就是將人在做決策時的思維脈絡以樹的形式展示出來的產物,即決策的過程模型。這是一棵去不去打高爾夫球的決策樹...