c4.5既可以處理離散型屬性,也可以處理連續性屬性。在選擇某節點上的分枝屬性時,對於離散型描述屬性,c4.5的處理方法與id3相同。
對離散分布、且取值數目》=3的特徵的處理:
c4.5決策樹可以支援多叉樹的形式,因此對於數目大於等於3的離散特徵,可以採用多分叉的形式
對於連續分布的特徵,其處理方法是:
先把連續屬性轉換為離散屬性再進行處理。雖然本質上屬性的取值是連續的,但對於有限的取樣資料它是離散的,如果有n條樣本,那麼我們有n-1種離散化的方法:<=vj的分到左子樹,>vj的分到右子樹。計算這n-1種情況下最大的資訊增益率。另外,對於連續屬性先進行排序(公升序),只有在決策屬性(即分類發生了變化)發生改變的地方才需要切開,這可以顯著減少運算量。經證明,在決定連續特徵的分界點時採用增益這個指標(因為若採用增益率,splittedinfo影響**點資訊度量準確性,若某分界點恰好將連續特徵分成數目相等的兩部分時其抑制作用最大),而選擇屬性的時候才使用增益率這個指標能選擇出最佳分類特徵
對連續屬性的處理如下:
1. 對特徵的取值進行公升序排序
2. 兩個特徵取值之間的中點作為可能的**點,將資料集分成兩部分,計算每個可能的**點的資訊增益(inforgain)。優化演算法就是只計算分類屬性發生改變的那些特徵取值。
3. 選擇修正後資訊增益(inforgain)最大的**點作為該特徵的最佳**點
4. 計算最佳**點的資訊增益率(gain ratio)作為特徵的gain ratio。注意,此處需對最佳**點的資訊增益進行修正:減去log2(n-1)/|d|(n是連續特徵的取值個數,d是訓練資料數目,此修正的原因在於:當離散屬性和連續屬性並存時,c4.5演算法傾向於選擇連續特徵做最佳樹**點)
關於連續性儲存陣列的一些小演算法
本人呢正處於完成c語言的大作業時期,對於鍊錶啊,非常頭疼,所以就查了有關於此類的一些基本知識,連續性陣列與鍊錶到是比較相近,便多看了一點,現在就分享一點 首先我們先定義乙個非常簡單結構體 struct arr 結構體定義完了,下面對其進行初始化 void init arr struct arr pa...
C4 5演算法詳解
首先,c4.5是決策樹演算法的一種。決策樹演算法作為一種分類演算法,目標就是將具有p維特徵的n個樣本分到c個類別中去。相當於做乙個投影,c f n 將樣本經過一種變換賦予一種類別標籤。決策樹為了達到這一目的,可以把分類的過程表示成一棵樹,每次通過選擇乙個特徵pi來進行分叉。那麼怎樣選擇分叉的特徵呢?...
資料探勘 C4 5演算法
c4.5演算法是機器學習和資料探勘領域中的一整套用於處理分類問題的演算法。該演算法是有監督學習型別的。計算公式 樣本資料 outlook temperature humidity windy playgolf?sunny 8585 false nosunny 8090 true noovercast...