決策樹最最最最最最常被問到的6個基礎(chǔ)問題
決策樹
原理及構(gòu)建過程:
決策樹是基于樹的結(jié)構(gòu)進行決策的,學(xué)習(xí)過程包括特征選擇,決策樹的生成和剪枝過程。
決策樹的學(xué)習(xí)過程通常是遞歸地選擇最優(yōu)特征,并用最優(yōu)特征對數(shù)據(jù)集進行分割。
開始時,構(gòu)建根節(jié)點,選擇最優(yōu)特征,該特征有幾種值就劃分為多少子集,每個子集遞歸調(diào)用此方法,返回結(jié)點。返回的結(jié)點就是上一層的子節(jié)點,直到所有特征都已經(jīng)用完,或者數(shù)據(jù)集只有一維特征為止。
6 個相關(guān)問題
1. ID3、C4.5、CART 三類決策樹的原理和異同點
ID3 選擇最佳分割點是基于信息增益的,信息增益越大,表示用這個屬性進行節(jié)點劃分所獲得的“純度提升”越大。
同時 ID3 的缺點也很明顯,某一個子集中特征的數(shù)目越多,相應(yīng)的這個子集的信息增益就越大,即使這個子集每個特征只有一個樣本數(shù)據(jù)。
這樣的后果就是構(gòu)造出來的樹泛化能力較弱,模型評估效果不佳。
C4.5 對 ID3 進行了改進,C4.5 采用信息增益率來選擇屬性,也就是針對子集相應(yīng)的增加一個權(quán)重系數(shù),這樣可以避免在選擇子集的時候選擇特征多而每個特征的樣本數(shù)量少的現(xiàn)象,但是信息增益率又會使得模型偏向于選擇特征少的現(xiàn)象。
所以,C4.5 算法則先從子集中選擇信息增益高于平均水平的特征,進一步從中選擇增益率最高的特征。
選擇信息增益高于平均水平的特征是因為信息增益高于平均水平會過濾掉取值數(shù)目少的屬性(即信息增益率高的屬性)
更多的,C4.5 也克服了 ID3 不能處理連續(xù)型變量和缺失值兩個缺點。
C4.5 算法構(gòu)造的決策樹只能進行分類任務(wù),而CART樹既可以做分類,也可以做回歸。
CART樹的本質(zhì)上是對特征空間進行二元劃分,所以CART算法生成的樹是一棵二叉樹,且可以對類別型變量和數(shù)值型變量進行分裂。
對分類別變量進行分類時,分為等于該屬性和不等于該屬性;在對連續(xù)型變量進行劃分時,分為大于和小于。所以 CART 樹做分類的時候用 ?GINI 系數(shù) 作為劃分標準,在做回歸的時候用的是 均方誤差。
2. 分類樹和回歸樹的區(qū)別是什么?
分類樹以 ID3 為例,在對一個特征進行劃分時,首先是窮舉這個特征的每一個閾值,找到使得 特征<=閾值 和 特征>閾值 的兩個分支的熵的最大值,按照該標準分支得到兩個新的節(jié)點。用同樣的方法繼續(xù)分支,直到得到種類唯一的葉子節(jié)點,或者達到預(yù)設(shè)的終止條件為止。
回歸樹的流程類似于分類樹,不同的是回歸樹采用的是均方誤差作為劃分標準。回歸樹會盡可能的尋找最小化均方誤差,即預(yù)測值和實際值的誤差最小,且越小則越有可能作為新的節(jié)點。
3. 決策樹對于缺失值的處理?
忽略缺失樣本 使用相應(yīng)的填充方法對缺失值進行填充 計算信息增益率時根據(jù)缺失率的大小對信息增益率進行打折。例如計算某個屬性的信息增益率,若屬性的缺失率為 0.8,則將信息增益率乘以 0.8 作為最終的信息增益率
屬性已經(jīng)被選擇,在決定分割點的時候,有些樣本在這個樣本上有缺失時的處理
忽略缺失樣本 使用相應(yīng)的填充方法對缺失值進行填充 將缺失值分配到每個子集中,即每個子集上都有缺失的樣本 將缺失樣本歸為一個分支
決策樹模型構(gòu)建好后,測試集上的某些屬性是缺失時的處理
如果存在單獨的缺失值分支,則依據(jù)此分支 使用相應(yīng)的填充方法對缺失值進行填充(常用眾數(shù)進行填充) 正常進行分類,直到出現(xiàn)缺失數(shù)據(jù)的節(jié)點停止,選擇該節(jié)點的眾數(shù)的葉子節(jié)點(即發(fā)生概率最高的類)作為最終分類。
4. 決策樹模型為什么不需要進行數(shù)據(jù)歸一化?
決策樹是一種概率模型,它不關(guān)心變量的值,只關(guān)心變量的分布和變量之間的條件概率。
所以對數(shù)值進行歸一化,并不會影響分裂節(jié)點的位置。
5. 決策樹過擬合應(yīng)該如何優(yōu)化?
決策樹模型過擬合可以通過預(yù)剪枝和后剪枝進行優(yōu)化
預(yù)剪枝:通過提前停止樹的構(gòu)造而對樹剪枝,是目前解決過擬合的主要方法。常用的剪枝條件包括限制樹的深度、限制葉節(jié)點最小樣本數(shù)、限制葉節(jié)點的最小樣本權(quán)重、限制葉節(jié)點的信息增益值的閾值等。
后剪枝:首先構(gòu)造完整的決策樹,并允許構(gòu)造的樹過度擬合數(shù)據(jù)。然后通過自底向上的方式對非葉節(jié)點繼續(xù)寧考察,若將該節(jié)點對應(yīng)的子樹替換為葉節(jié)點能帶來決策樹泛化性能提升,則將該子樹替換為葉節(jié)點
6. 決策樹的優(yōu)缺點
優(yōu)點:
易于理解,決策樹的if then結(jié)構(gòu)可以很好解釋 相對于邏輯回歸對數(shù)據(jù)的預(yù)處理,決策樹不需要進行特征歸一化和缺失值處理 決策樹模型的效果較好,且可進一步使用集成樹模型進行建模評估
缺點:
容易生成較復(fù)雜的樹結(jié)構(gòu),造成過擬合 不適合處理高維度數(shù)據(jù),當(dāng)特征的數(shù)量過大時,決策樹模型將難以適用(可使用集成樹模型進行優(yōu)化),而且往往很難跑出結(jié)果。 模型的泛化能力比較差,對于沒有出現(xiàn)過的值不知道如何處理。(可以預(yù)先進行分箱操作)
決策樹確實是樹模型里面最最最最最最簡單的一個了,所以一定不能在這個上面被問到了
推薦閱讀
(點擊標題可跳轉(zhuǎn)閱讀)
機器學(xué)習(xí)最困難的部分:超參數(shù)調(diào)試
神經(jīng)網(wǎng)絡(luò)之CNN與RNN的關(guān)系
老鐵,三連支持一下,好嗎?↓↓
