决策树分类(ID3;C4.5;CART)

本文介绍了决策树学习的基本流程和关键步骤,包括如何选择最优划分属性,如信息增益、增益率和基尼指数。通过西瓜数据集的示例,展示了ID3、C4.5和CART算法的选择标准。同时,文章探讨了决策树的剪枝处理,包括预剪枝和后剪枝策略,以防止过拟合,提高泛化能力。
摘要由CSDN通过智能技术生成

一、基本流程

  决策树是一类常见的机器学习方法。以二分类为例,我们希望从给定训练数据集学得一个模型用以对新示例进行分类,这个把样本分类的任务,可看作对“当前样本属于这类吗?”这个问题的“决策”或“判定”过程。顾名思义,决策树是基于树结构来进行决策的,这恰是人类在面临决策问题时一种很自然的处理机制。例如,我们要对“这是好瓜吗?”这样的问题进行决策时,通常会进行一系列的判断或“子决策”:我们先看“它是什么颜色?”,如果是“青绿色”,则我们再看“它的根蒂是什么形态?”,如果是“蜷缩”,我们再判断“它敲起来是什么声音?”,最后,我们得出最终决策:这是个好瓜。这个决策过程如下图所示。
在这里插入图片描述
  显然,决策过程的最终结论对应了我们希望的判定结果,例如“是”或“不是”好瓜;决策过程中提出的每个判定问题都是对某个属性的“测试”,例如“色泽=?”“根蒂=?”;每个测试结果或是导出最终结论,或是到处进一步的判定问题,其考虑范围是在上次决策结果的限定范围之内,例如若在“色泽=青绿”之后判断“根蒂=?”,则仅在考虑青绿色瓜的根蒂。
  一般地,一棵决策树包含一个根节点、若干个内部节点和若干个叶节点;叶节点对应于决策结果,其他每个节点则对应于一个属性测试;每个节点包含的样本集合根据属性测试的结果被划分到子结点中;根节点包含样本全集。从根结点到每个叶结点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树,其基本流程遵循简单且直观的“分而治之”策略。
图1、决策树学习基本算法

图1、决策树学习基本算法

显然,决策树的生成是一个递归过程。在决策树基本算法中,有三种情形会导致递归返回:
  (1)当前结点包含的样本全属于同一类别,无需划分;
  (2)当前属性集为空,或是所有样本在所有属性上取值相同,无法划分;
  (3)当前结点包含的样本集合为空,不能划分。
  在第(2)种情形下,我们把当前结点标记为叶节点,并将其类别设定该结点所含样本最多的类别。在第(3)种情形下,同样把当前结点标记为叶节点,但将其类别设定为其父结点所含样本最多的类别。注意这两种情形的处理实质不同:情形(2)是在利用当前结点的后验分布,而情形(3)则是把父结点的样本分布作为当前结点的先验分布。

二、决策树的划分选择(信息增益、增益率、基尼指数)
  由图一可以看出,决策树学习的关键是如何选择最优划分属性(第8行)。一般而言,随着划分过程不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”(purity)越来越高。

2.1 信息增益:ID3,信息熵
  “信息熵”(information entropy)是度量样本集合纯度最常用的一种指标。假定当前样本集合D种第k类样本所占的比例为在这里插入图片描述
(k=1,2,…,|y|),则D的信息熵定义为:

在这里插入图片描述  Ent(D)的值越小,则D的纯度越高。
  假定离散属性a有V个可能的取值{a1,a2,…,aV},若使用a来对样本集D进行划分,则会产生V个分支结点,其中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值