码迷,mamicode.com
首页 > 编程语言 > 详细

机器学习-决策树实现-python

时间:2016-06-15 12:17:07      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

今天翻自己的书库的时候,才发现了之前买的一本《机器学习导论》。随手翻了翻,就直接看到了之前看到的决策树实现的问题理论。

闲来无事,也就得写点代码来play 一下:

决策树的概念想必大家都十分熟悉,特别想我们小时候玩的跳方格的游戏。或者说我们之前玩的你猜我猜的游戏,猜不对继续猜,总有一天你会猜对额

为了确定从哪一个特征来进行判别,我们需要一个衡量标准来分类。

 

1…香农熵

2…信息增益

那我们来实现第一个……香农熵

 

from math import log 
def calcShannonEnt(dataset)
       numEntries =len(dataset):
        labelCounts={}
        for featureVector  in dataset :
        currentLabel=featVec[-1]
        if currentLabel not in labelCounts.keys():
            labelCounts[currentLabel]=0
        labelCounts[currentLabels]+=1
shannonEnt=0.0
for key in labelCounts:
        prob=float(labelCounts[key])/numEntries
        shannonEnt-=prob*log(prob,2)
return shannonEnt

 这个代码借鉴了机器学习实战的代码,事实上该段代码具有可重复利用性。

机器学习-决策树实现-python

标签:

原文地址:http://www.cnblogs.com/qixiangyujj/p/5586800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!