码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习3—决策树学习笔记

时间:2017-12-27 14:16:47      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:机器   tla   set   频率   标签   class   运算符   log   检测   

 

机器学习实战第三章决策树

#计算给定数据集的熵
#导入log运算符
from math import log

def calcShannonEnt(dataSet):
    #获取数据集的行数
    numEntries=len(dataSet)
    #设置字典的数据结构
    labelCounts={}
    #提取数据集的每一行的特征向量
    for featVec in dataSet:
        #获取特征向量的最后一列的标签
        currentLabel=featVec[-1]
        #检测字典的关键字key中是否存在该标签
        #如果不存在keys()关键字
        if currentLabel not in labelCounts.keys():
            #将当前标签/0键值对存入字典中
            labelCounts[currentLabel]=0
        #将当前标签对应的键值加1
        labelCounts[currentLabel]+=1
    #初始化熵为0
    Ent=0.0
    #对于数据集中所有的分类类别
    for key in labelCounts:
        #计算各个类别出现的频率
        prob=float(labelCounts[key])/numEntries
        #计算各个类别信息期望值
        Ent-=prob*log(prob,2)
    #返回熵
    return Ent

 

机器学习3—决策树学习笔记

标签:机器   tla   set   频率   标签   class   运算符   log   检测   

原文地址:https://www.cnblogs.com/Vae1990Silence/p/8124816.html

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