3.机器学习实战之决策树

本文介绍了ID3决策树的基本理论,包括熵、信息增益和ID3算法原理,并详细展示了如何通过代码实现决策树的构建、分类以及存储。通过对训练集的处理,解释了如何选择分裂特征,构建决策树的过程,并分析了决策树的优缺点。
摘要由CSDN通过智能技术生成

返回目录

上一篇:k-近邻算法

1. 简单理论介绍

    决策树的类型有很多,有CART、ID3和C4.5等,其中CART是基于基尼不纯度(Gini)的,这里不做详解,而ID3和C4.5都是基于信息熵的,它们两个得到的结果都是一样的,本次定义主要针对ID3算法。下面我们介绍信息熵的定义。

1.1 熵

    设D为用类别对训练集进行的划分,则D的熵(entropy)表示为:

其中m表示训练集中标签种类的个数;pi表示第i个类别在整个训练集中出现的概率,可以用属于此类别元素的数量除以训练集合元素总数量作为估计;-log2(p(i))表示为事件i的不确定程度,称为i的自信息量。熵的实际意义表示是D中训练集的标签所需要的平均信息量。

1.2 信息增益

    现在我们假设将训练集D按特征A进行划分,则A对D划分的期望信息为:

其中v表示特征A所取值的个数,|Dj|表示当特征A为j时的训练集元素的个数,|D|表示训练集所有元素的总数。

则用特征A划分训练集D后所得的信息增益(gain)为:

1.3 ID3决策树原理

     从信息论知识中我们知道,期望信息越小,信息增益越大,从而纯度越高。所以ID3算法的核心思想就是以信息增益度量特征选择,选择分裂后信息增益最大的特征进行分裂。下面我们继续用SNS社区中不真实账号检测的例子说明如何使用ID3算法构造决策树。为了简单起见,我们假设训练集合包含10个元素。

其中s、m、l分别表示小、中、大。

先计算总的信息熵。总共有10个元素,标签类别有两种,一种是“yes”(7条记录),表示账号为真实,另一种是“no”(3条记录),表示账号不真实。则总的熵为:

设L、F、H和R表示日志密度、好友密度、是否使用真实头像和账号是否真实,下面分别计算各特征的信息增益。

以计算日志密度为例,对于特征日志密度,其取值有s(3条记录)、m(4条记录)和l(3条记录)三种;在日志密度为s的条件下,账号为真实的记录有1条,账号不真实的记录有2条;在日志密度为m的条件下,账号为真实的记录有3条,账号不真实的记录有1条;在日志密度为l的条件下,账号为真实的记录有3条,账号不真实的记录有0条。

用特征日志密度划分训练集D后所得的信息增益(gain)为:

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值