决策树的python实现详解——《机器学习实战》

一、简介

(1)本章主要使用字典来存储决策树,但字典的可读性太低。后面将用matplotlib将其形象化。

优点:计算复杂度不高、输出结果易于理解、对中间值的缺失不敏感、可以处理不相关特征数据

缺点:可能会产生过度匹配问题

(2)#创建决策树的伪代码函数createBranch()如下:
检查数据集中的每个子项是否属于同一个分类
if so return 类标签;
else
    寻找划分数据集的最好特征
    划分数据集
    创建分支结点
        for 每个划分的子集
            调用createBranch并增加返回结果到分支结点中
    return 分支结点

二、构造决策树

一步一步将上述伪代码转为Python代码

1 划分数据集

划分数据集的原则是:将无序的数据变得更加有序。在这里,用“信息增益(information gain)”来衡量数据的有序程度。信息增益越大,则数据变得更有序。

数据假定为:

第一列为feature1,第二列为feature2,第三列为label

信息增益=原始数据集的熵之和-新数据集的熵之和

那么什么是熵(entropy)呢?(这边只介绍公式,具体内容大家有兴趣的自行了解)熵来源于信息论之父克劳德·香农。对于指定label的数据集,其熵的计算公式为:  

           e=-pi*log(2,p

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值