決策樹C4.5深度學習筆記

決策樹深度學習筆記


參考web數據挖掘 劉兵


決策樹關注的難點:

1. 是如何構造一個小而純的決策樹-NP完全問題。

2.最佳分類屬性的選擇-混雜度函數-信息增益-信息熵

3.與關聯規則的區別與聯繫

僞代碼如下:

 decisionTree(D,A,T,)

   if  數據集D 屬於同一個分類Cj,Cj屬於C then

        決策樹的葉子節點的類標爲Cj

    else

          if 屬性集A爲空 then

              出現最多的那個類別Cj作爲決策樹的類標

    else//數據集

          //用熵計算D的混雜度

           p0=inpurity-eval-1(D)

          //對所有屬性都計算一遍找出用哪個屬性來劃分D可以將D的換咋讀減少最多。

           for each attribute Ai do

               pi=inpurity-eval-2(Ai,D)

           endfor

        //計算Ai的信息增益

        //  gain(D,Ai)=entropy(D)-entropyAi(D)

        選擇Ag是混雜度的減少量達到最大

        if  Ag帶來的信息增益太小then

               算法在這個分支上停止

        else

            將屬性Ag作爲決策樹的一個決策節點

           將數據集分成m個子數據集,m是屬性Ag的取值vi的個數

            //對於每一個子屬性集合

            for each Dj in {D1,D2,D3,...,Dm} do

                if D不等於空 then

                     對於每一個Ag的取值vj 建立一個分支Tj

                    遞歸調用decidionTree(Dj,A-{Ag},Tj)

               enif

            endfor

       endif

   endif

該貪婪算法沒有回溯

C語言程序如下:


海量數據實現:

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章