決策樹演算法中,CART與ID3 C4 5特徵選擇之間的區別會對實際應用有哪些影響?哪種的結果會更好些?

時間 2021-06-01 07:34:52

1樓:

ID3演算法:

以資訊增益為準則選擇資訊增益最大的屬性。

缺點:1)資訊增益對可取值數目較多的屬性有所偏好,比如通過ID號可將每個樣本分成一類,但是沒有意義。2)ID3只能對離散屬性的資料集構造決策樹。

鑑於以上缺點,後來出現了C4.5演算法。

C4.5演算法:

以資訊增益率為準則選擇屬性;在資訊增益的基礎上對屬性有乙個懲罰,抑制可取值較多的屬性,增強泛化效能。

其他優點:1)在樹的構造過程中可以進行剪枝,緩解過擬合;2)能夠對連續屬性進行離散化處理(二分法);3)能夠對缺失值進行處理;

缺點:構造樹的過程需要對資料集進行多次順序掃瞄和排序,導致演算法低效;

剛才我們提到資訊增益對可取值數目較多的屬性有所偏好;而資訊增益率對可取值數目較少的屬性有所偏好!OK,兩者結合一下就好了!

解決方法:先從候選屬性中找出資訊增益高於平均水平的屬性,再從中選擇增益率最高的。而不是大家常說的直接選擇資訊增益率最高的屬性!

CART演算法(Classification and Regression Tree):

顧名思義,可以進行分類和回歸,可以處理離散屬性,也可以處理連續的。

分類樹使用GINI指數來選擇劃分屬性:在所有候選屬性中,選擇劃分後GINI指數最小的屬性作為優先劃分屬性。回歸樹就用最小平方差。

參考:1.《機器學習》 周志華

2.CART分類與回歸樹的原理與實現

2樓:張三

1、先說CART

CART中文叫分類與回歸樹,既可以用於分類也可以用於回歸。

CART生成的樹是二叉樹,在選擇變數的過程中,對回歸樹用平方誤差最小準則,對分類樹用基尼指數最小化準則

2、再說ID3

ID3只能用於分類問題。

ID3最重要的是用資訊增益去篩選變數,可以生成多叉樹,但好像不能存在缺失值,需要對確實值進行處理(這個需要確認下)

3、C4.5

用資訊增益篩選變數會存在這樣乙個問題:模型偏向於選擇取值較多的變數,比如id,但這是沒有意義的,因此C4.5採用資訊增益率的方式去選擇變數,就避免了這個問題。

C4.5可以允許變數存在缺失值,會把缺失值單獨作為一類或者按概率分到每乙個子樹上。

3樓:雷軍

CART的全稱是Classification and Regression Tree, 當然既能處理離散形也能處理連續形的資料.

C4.5也能處理連續形的資料, 具體方式跟CART裡Regression Tree裡出來方式差不多, 把資料排序以後找到類別不同的分割線做來切分, 根據切分點把連續屬性轉成bool形, 按照資訊增益比率來選最優的切分點.

至於ID3, 好像只能處理離散形的資料.

我這裡有一篇關於決策樹的部落格, 可以參考: http://leijun00.github.io/2014/09/decision-tree/

如何理解決策樹的損失函式

hittlle 發現都沒有回答為什麼要乘以那個Nt,請看上面手寫的部分,字醜勿怪!看出來了嗎?那就是經驗條件熵!因為 T 對所有的Nt是不變的,所以可以省略,兩者等價! 請叫我東少 統計那本書看了一些,過來獻個醜,有問題希望大家多多指點。在機器學習方面,一般的損失函式都是由優化項和正則項組成的,決策...

sklearn 決策樹相同資料集及模型引數為什麼生成的模型不一樣?

anti 同樣困惑,我用同一資料集,對同樣引數的決策樹進行十折交叉驗證,結果出現不一樣 初始以為是十折交叉驗證的原因,我就控制台列印了十折交叉驗證的過程,但是發現每次交叉 驗證使用的訓練集和測試集都沒有變化,分類評價 acc,fpr 卻出現了不一致 我看原始碼中他使用cart實現的,有個random...

如何理解最大熵模型和決策樹學習過程中熵的減小?

skyroot 最大熵模型要告訴我們的是在沒有其他任何資訊的情況下,我們只按照已有的資訊推斷,不受其他任何無關資訊的干擾。想想給你個6面的篩子,在你沒有其他附加條件的情況下讓你猜他的每面朝上的概率,你會猜是多少?我們應該很自然的會猜1 6,因為我們除了知道這個只是乙個6面篩子外不知道其他任何的資訊,...