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

Posted Vae永Silence

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习3—决策树学习笔记相关的知识,希望对你有一定的参考价值。

 

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

#计算给定数据集的熵
#导入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—决策树学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

《机器学习》第三章 决策树学习 笔记加总结

机器学习笔记五 决策树

学习笔记 | 机器学习 决策树

学习笔记 | 机器学习 决策树

机器学习实战笔记-决策树

机器学习实战笔记--决策树