很早就想寫寫決策樹,說起決策樹做過資料探勘的就不會感覺陌生,但是可能對id3決策樹演算法、c4.5決策樹演算法以及cart決策樹之間的區別不太了解,下面就這三個比較著名的決策樹演算法分別寫寫
決策樹是如何工作的
一棵決策樹包含乙個根結點、若干個內部結點和若干個葉結點;葉結點對應於決策結果,其他每個結點則對應乙個屬性測試;每個結點包含的樣本結合根據屬性測試的結果被劃分到子結點中;根結點包含樣本全集,從根結點到每個葉結點的每個葉結點的路徑對應乙個判定測試序列。決策樹學習的目的是為了產生一棵泛化能力強,也就是能夠處理未見例項的決策樹。
id3決策樹
資訊熵是度量樣本集合純度最常用的一種指標。假設樣本集合d中第k類樣本所佔的比重為pk,那麼資訊熵的計算則為下面的計算方式
當這個ent(d)的值越小,說明樣本集合d的純度就越高
有了資訊熵,當我選擇用樣本的某乙個屬性a來劃分樣本集合d時,就可以得出用屬性a對樣本d進行劃分所帶來的「資訊增益」
一般來講,資訊增益越大,說明如果用屬性a來劃分樣本集合d,那麼純度會提公升,因為我們分別對樣本的所有屬性計算增益情況,選擇最大的來作為決策樹的乙個結點,或者可以說那些資訊增益大的屬性往往離根結點越近,因為我們會優先用能區分度大的也就是資訊增益大的屬性來進行劃分。當乙個屬性已經作為劃分的依據,在下面就不在參與競選了,我們剛才說過根結點代表全部樣本,而經過根結點下面屬性各個取值後樣本又可以按照相應屬性值進行劃分,並且在當前的樣本下利用剩下的屬性再次計算資訊增益來進一步選擇劃分的結點,id3決策樹就是這樣建立起來的。
c4.5決策樹
c4.5決策樹的提出完全是為了解決id3決策樹的乙個缺點,當乙個屬性的可取值數目較多時,那麼可能在這個屬性對應的可取值下的樣本只有乙個或者是很少個,那麼這個時候它的資訊增益是非常高的,這個時候純度很高,id3決策樹會認為這個屬性很適合劃分,但是較多取值的屬性來進行劃分帶來的問題是它的泛化能力比較弱,不能夠對新樣本進行有效的**。
而c4.5決策樹則不直接使用資訊增益來作為劃分樣本的主要依據,而提出了另外乙個概念,增益率
但是同樣的這個增益率對可取值數目較少的屬性有所偏好,因此c4.5決策樹先從候選劃分屬性中找出資訊增益高於平均水平的屬性,在從中選擇增益率最高的。
cart決策樹
cart決策樹的全稱為classification and regression tree,可以應用於分類和回歸。
採用基尼係數來劃分屬性
基尼值基尼係數
因此在候選屬性中選擇基尼係數最小的屬性作為最優劃分屬性。
ID3 C4 5 CART三種決策樹的區別
決策樹是如何工作的 一棵決策樹包含乙個根結點 若干個內部結點和若干個葉結點 葉結點對應於決策結果,其他每個結點則對應乙個屬性測試 每個結點包含的樣本結合根據屬性測試的結果被劃分到子結點中 根結點包含樣本全集,從根結點到每個葉結點的每個葉結點的路徑對應乙個判定測試序列。決策樹學習的目的是為了產生一棵泛...
決策樹演算法ID3,C4 5, CART
決策樹是機器學習中非常經典的一類學習演算法,它通過樹的結構,利用樹的分支來表示對樣本特徵的判斷規則,從樹的葉子節點所包含的訓練樣本中得到 值。決策樹如何生成決定了所能處理的資料型別和 效能。主要的決策樹演算法包括id3,c4.5,cart等。id3是由 ross quinlan在1986年提出的一種...
決策樹中ID3 C4 5 CART
決策樹中最初的演算法是id3,然後是c4.5,再之後是cart。下面分別介紹其優缺點 id3 基本思想 決策樹構建最初最經典的演算法。利用資訊增益選擇特徵向量,構建決策樹。優點 1 原理簡單易懂,需要了解資訊熵是表示樣本無序的度量方式。2 構造出的決策樹能夠儲存在磁碟中,再次分類時,可以直接呼叫,無...