一、先了解熵的概念:
根據以上定義,經驗熵是在訓練集上有若干分類。條件熵則是用特徵a的取值將訓練集分類。
熵表示的是資料中包含的資訊量大小。熵越小,資料的純度越高,也就是說資料越趨於一致,這是我們希望的劃分之後每個子節點的樣子。
資訊增益越大,則意味著使用屬性a來進行劃分所獲得的「純度提公升」越大。也就是說,用屬性a來劃分訓練集,得到的結果中純度比較高。
之所以引入了資訊增益比,是由於資訊增益的乙個缺點。那就是:資訊增益總是偏向於選擇取值較多的屬性。資訊增益比在此基礎上增加了乙個罰項,解決了這個問題。
gini指數:
既然基尼指數和熵都可以表示資料的不確定性,不純度。那麼這兩個有什麼區別呢?
二、決策樹——分類與回歸方法
資料探勘或機器學習中使用的決策樹有兩種主要型別:
(1)分類樹分析是指**結果是資料所屬的類(比如某個電影去看還是不看)
(2)回歸樹分析是指**結果可以被認為是實數(例如房屋的**,或患者在醫院中的逗留時間)
而術語分類回歸樹(cart,classification and regression tree)分析是用於指代上述兩種樹的總稱,由breiman等人首先提出。
三、決策樹的生成
決策樹有很多演算法,它們的區別是所選擇的劃分標準不一樣,id3選擇的是資訊增益,c4.5選擇的是資訊增益比,當cart是分類樹時,採用gini值作為節點**的依據;當cart是回歸樹時,採用樣本的最小方差作為節點**的依據(資訊增益(id3)、資訊增益率(c4.5)、基尼係數(cart))。
1. id3 演算法:核心是在決策樹各個結點上應用資訊增益準則選擇資訊增益最大且大於閾值的特徵,遞迴地構建決策樹。id3 相當於用極大似然法進行概率模型的選擇。由於演算法只有樹的生成,所以容易產生過擬合。
id3僅僅適用於二分類問題。id3僅僅能夠處理離散屬性。
2. c4.5 演算法:c4.5 演算法與 id3 演算法相似,改用資訊增益比來選擇特徵。
c4.5克服了id3僅僅能夠處理離散屬性的問題,以及資訊增益偏向選擇取值較多特徵的問題,使用資訊增益比來選擇特徵。資訊增益比 = 資訊增益 /劃分前熵 。選擇資訊增益比最大的作為最優特徵。
c4.5處理連續特徵是先將特徵取值排序,以連續兩個值中間值作為劃分標準。嘗試每一種劃分,並計算修正後的資訊增益,選擇資訊增益最大的**點作為該屬性的**點。
3.cart 演算法:
cart 既可以用於分類也可以用於回歸。它假設決策樹是二叉樹,內部結點特徵的取值為 " 是 " 和 " 否 " 。遞迴地構建二叉樹,對回歸樹用平方誤差最小化準則,對分類樹用基尼指數最小化準則。
cart與id3,c4.5不同之處在於cart生成的樹必須是二叉樹。也就是說,無論是回歸還是分類問題,無論特徵是離散的還是連續的,無論屬性取值有多個還是兩個,內部節點只能根據屬性值進行二分。id3、c4.5可以是多叉樹或二叉樹。
回歸樹中,使用平方誤差最小化準則來選擇特徵並進行劃分。每乙個葉子節點給出的**值,是劃分到該葉子節點的所有樣本目標值的均值,這樣只是在給定劃分的情況下最小化了平方誤差。要確定最優化分,還需要遍歷所有屬性,以及其所有的取值來分別嘗試劃分並計算在此種劃分情況下的最小平方誤差,選取最小的作為此次劃分的依據。由於回歸樹生成使用平方誤差最小化準則,所以又叫做最小二乘回歸樹。
分類樹種,使用gini指數最小化準則來選擇特徵並進行劃分;
gini指數表示集合的不確定性,或者是不純度。基尼指數越大,集合不確定性越高,不純度也越大。這一點和熵類似。另一種理解基尼指數的思路是,基尼指數是為了最小化誤分類的概率。
四、決策樹剪枝
決策樹演算法很容易過擬合(overfitting),剪枝演算法就是用來防止決策樹過擬合,提高泛化效能的方法。
剪枝分為預剪枝與後剪枝。預剪枝是指在決策樹的生成過程中,對每個節點在劃分前先進行評估,若當前的劃分不能帶來泛化效能的提公升,則停止劃分,並將當前節點標記為葉節點。後剪枝是指先從訓練集生成一顆完整的決策樹,然後自底向上對非葉節點進行考察,若將該節點對應的子樹替換為葉節點,能帶來泛化效能的提公升,則將該子樹替換為葉節點。
那麼怎麼來判斷是否帶來泛化效能的提公升那?最簡單的就是留出法,即預留一部分資料作為驗證集來進行效能評估。
五、總結
決策樹演算法主要包括三個部分:特徵選擇、樹的生成、樹的剪枝。常用演算法有id3、c4.5、cart。——生成只考慮區域性最優,剪枝則考慮全域性最優。
從根結點開始,對例項的某一特徵進行測試,根據測試結果,將例項分配到其子結點;這時,每乙個子結點對應著該特徵的乙個取值。如此遞迴地對例項進行測試並分配,直至達到葉結點。最後將例項分到葉結點的類中。決策樹的路徑具有互斥且完備的性質。
機器學習演算法 決策樹總結
1.決策樹學習的目的 從資料樣本集中歸納出一組具有分類能力的分類規則。2.樹模型和線性模型有什麼區別呢?樹形模型是乙個乙個特徵進行處理,之前線性模型是所有特徵給予權重相加得到乙個新的值。決策樹與邏輯回歸的分類區別也在於此 另外邏輯回歸只能找到線性分割,而決策樹可以找到非線性分割。3.id3,c4.5...
機器學習演算法之決策樹
1 演算法流程 一般的,一棵決策樹包含乙個根節點 若干內部節點和若干個葉節點 葉節點對應於決策結果,其他每個結點則對應於乙個屬性測試 每個結點包含的樣本集合根據屬性測試的結果被劃分到子結點中 根結點包含樣本全集.從根結點到每個葉結點的路徑對應了乙個判定測試序列.決策樹學習的目的是為了產生一棵泛化能力...
機器學習之決策樹演算法
決策樹 從根節點開始一步步走到葉子節點 決策 所有的資料最終都會落到葉子節點,既可以做分類也可以做回歸 這裡先講分類樹 假如我們需要對是否玩遊戲進行分類,我們有兩個特徵。如上圖所示。決策樹的訓練與測試 如何切分特徵 選擇節點 衡量標準 熵 資料 14天打球情況 特徵 4種環境變化 目標 構造決策樹 ...