机器学习之决策树

什么是决策树

  决策树的目的是生成一个树状图用于分类任务,其包含根节点、叶节点和内部节点。根节点包含所有的样本,内部节点对应一个个属性测试,叶节点则为决策结果,决策的过程即是从根节点到叶节点的过程。比如要对一批样本进行分类,这些样本具有不同的属性及属性值,这些属性构成了一个个节点,最后的分类结果就是叶节点。

划分选择

  决策树最关键的在于属性节点的选择,在每一个节点都有很多种属性的选择,选择的原则是希望该分支节点所包含的样本尽可能属于同一类别。为了表示节点的纯度,引入信息熵的概念。
  信息熵是度量样本集合纯度的最常用的指标,信息熵越小则纯度越高,为了表示不同节点的选择对信息熵的影响,引入信息增益作为选择的依据,即信息增益越大,则使用该属性所获得的纯度的提升越大,著名的ID3决策树就是用信息增益来划分属性的。但并不是信息增益越大越好,需要考虑决策树的泛化能力,实际上信息增益准则对取值较多的属性有所偏好,为减少这种偏好带来的不利影响,因此C4.5决策树算法不直接使用信息增益,而是使用增益率来选择最优划分属性,但是增益率准则对取值数目较少的属性有所偏好,因此不能直接选择增益率最大的候选划分属性,而是先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。其他的划分准则还有基尼指数(CART决策树)等。

剪枝处理

  剪枝是决策树中应对过拟合问题的主要手段,决策树的分支越多,则分类越精细,就会出现过拟合现象,因此,通过剪枝操作,可以降低过拟合的风险。剪枝处理主要有两种方式,一种是预剪枝,一种是后剪枝。预剪枝是在生成决策树的过程中,对每个节点进行估计,如果该分支并不能够提升决策树的泛化能力,则停止划分。预剪枝能够降低过拟合的风险,同时也能减少训练时间,但是可能会有欠拟合的风险,即最后只生成了个树桩。后剪枝是在生成决策树后,自下而上的对非叶节点进行测试,如果叶节点替换分支节点能够提高泛化能力,则进行替换。后剪枝的泛化性能往往优于预剪枝,但是训练的时间较长。

连续值的处理

  在实际应用中,并不是所有的属性取值都是离散值,还有可能遇到连续值,需要对连续值进行离散化,最简单的离散化方法就是二分法,首先取相邻两数的平均值作为其离散值的划分点,比如连续属性的取值为1 ,2, 3, 4, 5, 6,则将其候选划分点为1.5,2.5,3.5,4.5,5.5,再求这些划分点候选值中信息增益最大的划分点,再以此划分点将所有属性值分成两部分。

缺失值的处理

  实际获得的样本可能会缺失一些属性值,如果完全抛弃这些数据则可能会丢失一些重要信息,也是对数据的一种浪费,因此需要对缺失值进行处理。在处理之前需要考虑两个问题
1、如何在属性值缺失的情况下进行属性划分。
2、给定了划分属性,若样本在该属性上的值确实,如何进行划分。
  对于问题1,可以在信息增益的公式上进行修改,增加一个比例项,即某属性缺失值占总取值的比例。再求样本子集的信息熵时使用的是无缺失的样本。对于问题2,将在该属性上有缺失的样本同时分到各个分支,并调整其权重。

多变量决策树

  单变量决策树的分类边界是轴平行的,虽然这样使得结果有较好的可解释性,但是有时会遇到分类边界比较复杂的情况,此时决策树就会变得很复杂,多变量决策树的决策边界是斜的,可以很好的对复杂分类边界进行近似,在多变量决策树中,非叶节点不是某一个属性,而是多个属性的线性组合,即在每一个非叶节点,都建立一个线性分类器。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S.E.G

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值