机器学习笔记---你真的懂决策树么?

本文深入探讨了机器学习中的决策树算法,包括ID3、C4.5和CART的区别,特征选择标准如信息增益、信息增益率和基尼指数,以及剪枝策略,如预剪枝和后剪枝中的代价复杂度剪枝。文章还讨论了连续值处理和缺失值处理方法,展示了决策树在实际问题中的应用。
摘要由CSDN通过智能技术生成

点击上方“潜心的Python小屋”关注我们,第一时间推送优质文章。

前言

大家好,我是潜心。本期介绍机器学习中的决策树。主要从特征选择的标准、剪枝技术、连续值与缺失值处理展开。

本文约5k字,预计阅读25分钟。

决策树

决策论中 (如风险管理),「决策树」(Decision tree)由一个决策图和可能的结果(包括资源成本和风险)组成, 用来创建到达目标的规划。在机器学习中,决策树作为最基础、最常见的「监督学习模型」,常被用于分类问题和回归问题(这里指的是CART算法)。如果将决策树的应用到「集成学习」(ensemble learning)的思想可以得到「随机森林」、「梯度提升决策树」等模型。

决策树学习的算法是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。

  1. 开始:构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。

  2. 如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。

  3. 如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点。

  4. 递归进行2,3,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。

  5. 每个子集都被分到叶节点上,即都有了明确的类,这样就生成了一颗决策树。

这里我们以鸢尾花(iris)分类问题为例。鸢尾花的特征有:花瓣长度(petal length)、花瓣宽度(petal width)、花萼长度(sepal length)、花萼宽度(sepal width)四个特征,它的类别有:山鸢尾(setosa)、变色鸢尾(versicolor)、安德森鸢尾(virginica)三种类别。决策树的构建(CART算法)如下图,首先判断花瓣的长度(这里选择「gini指数」作为特征的选择)是否小于2.45cm,是则产生一个叶结点,全为山鸢尾,否则进行下一步最优划分特征:花瓣宽度是否小于1.75cm,分别产生两个子结点。再递归选择特征,直至所有的鸢尾花能被准确的划分到类别中。

从上述例子我们可以看到,「如何选择最优的特征」是决策树最为关键的因素。一般而言,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。不同的最优特征选择方式也就对应了不同的决策树算法,常用的决策树算法有:ID3、C4.5、CART。

特征选择与决策树算法

信息增益---ID3

上篇文章机器学习笔记---信息熵我们提到「信息熵」是度量样本集合纯度最常用的指标。因为信息熵反映了随机变量的不确定性,即事件发生的混乱度,熵越大,则随机变量的不确定性越大。

故假设在样本集合 中第 类样本所占的比例为 ,则 的信息熵定义为:

的值越小,则所有样本属于同一类的的概率越高。

假定离散型特征 注意:这里是离散型特征,ID3算法只能处理离散型变量,鸢尾花的分类就无法采用该算法,除非采用连续值处理方法)有 个可能的取值 ,即属性(特征) 下的子属性,产生

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值