决策树学习(一)

本文介绍了决策树学习的基本概念,重点讲解了熵的概念及其在选择最优数据集划分方式中的作用。通过信息增益这一度量标准,解释了如何评估属性分类训练数据的效力,并给出了Python代码实现示例。
摘要由CSDN通过智能技术生成

本文来自我个人博客:www.chenbiaolong.com

概述

决策树学习是一种逼近离散值目标函数的方法,简单来说它可以被表示为多个的if-then的规则表达式。在本文中先主要介绍决策树的基本概念,主要包括熵的概念以及如何选择最优的数据集划分方式

数据准备

这里我们使用《机器学习》(Tom M.Mitchell著)中的例子作为分析的数据源。这颗决策树根据天气情况分类“星期六上午是否适合打网球”。
此处输入图片的描述
从图中可以看出决定是否打球的因素主要有:outlook(天气)、humidity(湿度)和wind(风力)。那么这三个属性哪一个属性是最优的数据集划分方式呢?即我们得到哪一个属性值可以有最大的概率判断出最终的结果(yes或no)呢?获得最优的数据划分方式有一个优势是可以将该属性放在前几个判断节点上,这样在处理大量的数据时可以减少整体数据集的平均搜索深度。这里就需要引入信息熵的概念。

信息增益的度量标准:熵

熵的具体定义参考维基百科。简单的说熵是衡量一个系统的无序程度的物理单位,一个系统越混乱,该系统的熵越大。在信息领域中我们对数据进行分析得到结果的过程是一个熵减过程。
对于一个bool型的系统,给定包含关于某个目标概念的正反样例的样例集S,那么S相对这个布尔型分类的熵为:

Entropy(S)=p+log2p+plog2p

上述公式中,p+代表正样例,比如在本文例子中p+则意味着去打球,而p-则代表反样例,不去打球(在有关熵的所有计算中我们定义0log0为0)。
举例来说,假设S是一个关于布尔概念的有14个样例的集合,它包括9个正例和5个反例(我们采用记号[9+,5-]来概括这样的数据样例),那么S相对于这个布尔样例的熵为:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值