R语言学习笔记—决策树分类

一、简介

决策树分类算法(decision tree)通过树状结构对具有某特征属性的样本进行分类。其典型算法包括ID3算法、C4.5算法、C5.0算法、CART算法等。每一个决策树包括根节点(root node),内部节点(internal node)以及叶子节点(leaf node)。

根节点:表示第一个特征属性,只有出边没有入边,通常用矩形框表示。

内部节点:表示特征属性,有一条入边至少两条出边,通常用圆圈表示。

叶子节点:表示类别,只有一条入边没有出边,通常用三角表示。

决策树算法主要用于分类,也可用于回归,当决策树的输出变量是分类变量时,是分类树;当决策树输出变量是连续变量时,是回归树。虽然回归树的因变量是连续的,但叶节点数是有穷的,因此输出值也是这个叶节点上观测值的平均。

二、基本思想

决策树算法基本思想可以归纳如下: 

第一步,对特征空间按照特征属性进行划分;

第二步,对分类后的子集递归第一步。

分类过程看起来很简单,但是要想得到【完全纯净】的子集,也就是每一个子集中的样本都属于同一个分类,还需要一个评价指标对分类效果好坏进行评估——熵。

 

熵,是系统一种无组织、无序的状态,广泛应用于信息论中。熵值越大,表明数据的纯度越低。当熵等于0,表明样本数据都是同一个类别。其计算公式如下:

其中,P(Xi)表示概率,b此处取值为2。熵的单位为比特bite。

 

信息增益(information gain):代表的是一次划分对数据纯度的提升效果,也就是划分以后,熵减少越多,说明增益越大,那么这次划分也就越有价值,增益的计算公式如下:

其中D表示样本集,假定属性a有v个可能的取值(离散或连续)。进行最有划分属性时,比如先找到了属性a,对a进行评价,接下来对其他属性重复a的过程,分别得到一个评分,选择评分最高的那个,即信息增益最大的作为最有划分属性。简言之,信息增益就是分割属性前的熵值与分割后的熵值进行差异比较。

需要注意的是,计算子集的熵之和需要乘上各个子集的权重,权重的计算方法是子集的规模占分割前父集的比重。如,分割前的熵为e,分割子集为a和b,大小分别为m和n,熵分别为e1和e2,则信息增益为e-e1*m/(m+n)-e2*n/(m+n)。

三、ID3算法实现

分类的本质是对特征空间的划分。根据决策树的基本思想,其算法实现主要有以下三步:

1.选择特征属性,样本分割。

2.计算信息增益,选取最大增益作为决策树的子节点。

3.递归执行上两步,直至分类完成。

下面将介绍ID3算法在R语言中实现过程。

一组14天天气数据(指标包括outlook,temperature,humidity,windy),并已知这些天气是否打球(play)。如果给出新一天的气象指标数据:sunny,cool,high,TRUE,判断一下会不会去打球。

Outlook

temperature

humidity

windy

play

Sunny

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值