id3决策树 鸢尾花 python_C4.5决策树Python代码实现
生活随笔
收集整理的這篇文章主要介紹了
id3决策树 鸢尾花 python_C4.5决策树Python代码实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C4.5決策樹Python代碼實現
????我們知道C4.5決策樹與ID3決策樹最主要的區別就是C4.5使用信息增益率來劃分最優屬性。因為使用信息增益來劃分屬性的話會存在以下這些缺點:對可取屬性多的特征有偏好,比如如果把“編號”這一列當作特征也考慮在內,那么可以計算處它的信息增益大于其他的候選特征,因為“編號”有17個可取的數值,產生17個分支,每個分支節點僅包含一個樣本,顯然這些分支節點的純度最大。但是,這樣的決策樹顯然不具有泛化能力,無法對新樣本進行有效預測。
而使用C4.5決策樹算法:使用“信息增益率”來選擇最優劃分屬性,可以很好的克服上述缺點。
所以C4.5代碼和ID3代碼的主要區別就是劃分最有屬性這一段。C4.5的劃分做法是從候選劃分特征中找出信息增益高于平均水平的特征,分別除以比率IVAL,然后再從中選擇增益率最高的。IVAL公式如下:
Dv是對應特征下的屬性樣例個數,D是所有樣例個數。
上述代碼表達的意思就是從所有信息增益中選出大于平均值的信息增益,計算他的信息增益率,從而求出最高的信息增益率。
C4.5選取最優劃分屬性的代碼如下,先計算信息增益,再計算最優信息增益率:
其余代碼在ID3已經詳細講解過,在這里不再贅述。代碼如下所示:
下一期CART決策樹講完后,會將所有代碼上傳百度網盤。請大家持續關注,謝謝大家!
總結
以上是生活随笔為你收集整理的id3决策树 鸢尾花 python_C4.5决策树Python代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: django手机访问_Django从入门
- 下一篇: react 动态路 嵌套动子路由_202