天天看點

【機器學習算法-python實作】決策樹-Decision tree(1) 資訊熵劃分資料集1.背景2.資料集3.代碼4.代碼下載下傳

          決策書算法是一種逼近離散數值的分類算法,思路比較簡單,而且準确率較高。國際權威的學術組織,資料挖掘國際會議ICDM (the IEEE International Conference on Data Mining)在2006年12月評選出了資料挖掘領域的十大經典算法中,C4.5算法排名第一。C4.5算法是機器學習算法中的一種分類決策樹算法,其核心算法是ID3算法。

          算法的主要思想就是将資料集按照特征對目标指數的影響由高到低排列。行成一個二叉樹序列,進行分類,如下圖所示。

【機器學習算法-python實作】決策樹-Decision tree(1) 資訊熵劃分資料集1.背景2.資料集3.代碼4.代碼下載下傳

         現在的問題關鍵就是,當我們有很多特征值時,哪些特征值作為父類寫在二叉樹的上面的節點,哪下寫在下面。我們可以直覺的看出上面的特征值節點應該是對目标指數影響較大的一些特征值。那麼如何來比較哪些特征值對目标指數影響較大呢。這裡引出一個概念,就是資訊熵。

        資訊熵的計算公式,

【機器學習算法-python實作】決策樹-Decision tree(1) 資訊熵劃分資料集1.背景2.資料集3.代碼4.代碼下載下傳

(建議去wiki學習一下)

        這裡我們通過計算目标指數的熵和特征值得熵的差,也就是熵的增益來确定哪些特征值對于目标指數的影響最大。

【機器學習算法-python實作】決策樹-Decision tree(1) 資訊熵劃分資料集1.背景2.資料集3.代碼4.代碼下載下傳

                       函數主要是找出有幾種目标指數,根據他們出現的頻率計算其資訊熵。  

            因為要每個特征值都計算相應的資訊熵,是以要對資料集分割,将所計算的特征值單獨拿出來。

    結果是輸出0,也就是是否有喉結對性别影響最大。