【决策树】ID3算法理解与R语言实现

本文深入解析决策树算法,通过相亲案例解释决策树原理,并介绍信息熵和信息增益的概念。利用R语言实现ID3算法,包括R自带包和自定义函数的应用,展示在iris数据集上的分类效果。
摘要由CSDN通过智能技术生成

一、算法理解

想来想去,还是决定用各大畅销书中的相亲例子来解释什么叫决策树。

简单来说,决策树就是根据各种变量,作为输入条件,最终输出决策的过程。比如上图中女方在相亲过程中,影响是否见男方的变量有年龄、长相、收入、是否是公务员等。

最终在各种变量组合下,最终输出见或不见的决策。

下边是决策树的一种定义:

决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。

二、数学公式

对于决策树有大体认识后,我们来讨论其背后的包含的数学理论支撑,主要是信息论中的信息。为了理解,我们需要了解两个数学概念。

信息熵:熵是无序性(或不确定性)的度量指标。假如事件A的全概率划分是(A1,A2,...,An),每部分发生的概率是(p1,p2,...,pn),那信息熵的公式如下:

信息增益

简单来说,就是在某种变量算出其相应的信息熵后,用总体信息熵减去,即为该变量的信息增益。比如,我们算出见与不见总体的信息熵,减去年龄变量的信息熵,即为信息增益,Gain(x)。

一般我们选择信息增益最大的变量进行节点划分,这样能快速对决策树进行分叉,并且保证决策树的高度最小。

举例说明:

在某社区中,我们根据某用户的用户博客密度,好友密度、是否使用真实头像来判断该用户是真人还是机器人。

具体的数据如下:

日志密度 好友密度 是否真实头像 账号是否是真实的
s s no no
s l yes yes
l m yes
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值