決策樹ID3算法

本文摘錄于http://www.lxweimin.com/p/ed9ae5385b89


一句話概要,決策樹算法的核心在于決策樹的構建,每次選擇讓整體數據香農熵(描述數據的混亂程度)減小最多的特征,使用其特征值對數據進行劃分,每次消耗一個特征,不斷迭代分類,直到所有特征消耗完(選擇剩下數據中出現次數最多的類別作為這堆數據的類別),或剩下的數據全為同一類別,不必繼續劃分,至此決策樹構建完成,之后我們依照這顆決策樹對新進數據進行分類。

決策樹長什么樣?


決策樹算法較之于kNN算法一個很顯著的不同在于,kNN算法需要持續使用全部的訓練數據,而決策樹算法經過訓練構建出決策樹之后,就不再需要將所有的訓練樣本保持在內存中了,這顆決策樹就是在訓練樣本中抽象出來的模型。

香農(信息)熵用來描述數據的混亂度,混亂度越大熵越大,計算公式如下:


Pi指第i種數據在這個數據集中所占的比例。

定性理解,如果這個數據集中所包含的數據類別越少,它的熵也就越小(熵是正數,因為對數算出來的結果是負數)。

如果我們將這個數據集按照數據的某個特征(不是按數據類別分,因為我們做的是學習+預測,不是對訓練樣本分類)進行了分類,分成了多個小數據集,那整個數據集熵的計算公式如下:


我們需要知道按照這個特征分類過后,整個數據集的熵減少了多少,也就是信息增益是多少,計算公式如下:


信息增益越大,也就是我們對數據的分類越有效,整個數據集的熵減小的越多。

在整個數據集的基礎上,挑選使熵減小最多的特征對數據集進行分類,將整個數據集按照上一步所選定的特征的特征值分成多個(可以超過2個)小數據集,然后對每個小數據集重復進行以上的操作,直到某個小數據集內部數據的數據類別全部相同,或者沒有可以繼續分類的特征了,這個時候我們把剩下的數據集里面出現最多的數據類別作為這個小數據集的類別。

然后我們就得到了一顆決策樹,當需要處理新樣本的時候,我們按照決策樹對特征的使用順序和新樣本的各個特征值,逐步對這個樣本進行分類,直到決策樹的葉子節點處,最后這個葉子節點數據集的數據類別就是我們根據決策樹算法所推斷出來的新樣本的數據類別。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 注:題中所指的『機器學習』不包括『深度學習』。本篇文章以理論推導為主,不涉及代碼實現。 前些日子定下了未來三年左右...
    我偏笑_NSNirvana閱讀 40,138評論 12 145
  • 決策樹理論在決策樹理論中,有這樣一句話,“用較少的東西,照樣可以做很好的事情。越是小的決策樹,越優于大的決策樹”。...
    制杖灶灶閱讀 5,928評論 0 25
  • 一.樸素貝葉斯 1.分類理論 樸素貝葉斯是一種基于貝葉斯定理和特征條件獨立性假設的多分類的機器學習方法,所...
    wlj1107閱讀 3,148評論 0 5
  • 機器學習是做NLP和計算機視覺這類應用算法的基礎,雖然現在深度學習模型大行其道,但是懂一些傳統算法的原理和它們之間...
    在河之簡閱讀 20,579評論 4 65
  • 今天偶爾看到別人在用哪個系列的化妝品,我就會覺得哇蠻好的我也要用。明天看到別人好讀書過著詩情畫意的生活就會想,我也...
    三彩張閱讀 388評論 1 0