机器学习简单的决策树了解

一、决策树算法简介:在机器学习中有两类十分重要的问题,一类是分类问题,一类是回归问题。我们今天所要探讨的就是在分类和回归问题中所用到的一种非常基本的方法,叫决策树。决策树也是重要的标签学习方法。

二、决策树主要作用决策的的意思就是在众多类别中我们需要决策出我们分类的东西是属于哪一个类别(与我之前写的那篇KNN算法有着相关联系),决策离散型的值的叫决策树,决策连续型值的叫回归树。用学术一点的语言就是决策树的输出是离散型随机变量,回归树的输出是连续型随机变量,这篇文章的重点是讲解输出是离散型随机变量的决策树,当你明白决策树的运行机理后,回归树也就触类旁通了。

三、易理解的实例
那我们通过一个实际的例子来展开决策树的讲解,并且为了让大家更好理解,我也从自己看过的很多例子中,选择了一个十分简单的情景。

假如小明上班可以选择两种交通工具,一种是网约车打车上班,一种是骑共享单车上班。采取这两种途径中的哪一种取决于三个因素,一个是天气情况,天气假设可分为恶劣天气和非恶劣天气,另一个因素是小明的心情,心情分为好心情和坏心情,最后一个因素是小明是否快要迟到。假设三个因素对应的小明上班方式的情况如下表:
在这里插入图片描述
上面这个表格就是我们所说的样本集,细心点可能会发现,上面的样本集少了一种情况,即天气恶劣、小明心情不好但是上班时间又比较充裕的这种情况,没错,我故意省去这一组就是想让这一组成为测试集,让大家通过构建一个决策树来预测在这种情况下,小明会采取哪一种方式上班。
首先我们得构建一个决策树:其中需要解决三个问题
Pro1: 根结点放置哪个条件属性;
Pro2: 下面的结点放置哪个属性;
Pro3: 什么时候停止树的生长。

作为初学者,其实本人对决策树的建立还是有点问题的。在这里好像涉及一个比较抽象的概念——信息熵
第一个问题:根结点放置哪个条件属性。
我们的放置方法是:选择信息增益最大的一个属性作为根结点。
因为一个数据集的信息熵是固定的,所以这个问题就转化为选择条件信息熵最小的属性,所以我们只要求出条件信息熵最小的属性就知道根结点了。
通过对例子的计算我们可以分别计算出单个特性的条件信息熵,计算过程如下图.
由于不会计算,省去该步骤0.0

通过计算,我们看到小明是否迟到这个属性的条件信息熵最小,那么我们就将这个属性作为根结点。所以决策树的的雏形如下图。
在这里插入图片描述
知道了根结点的放置方法,那么第二个问题也就迎刃而解了,下面的结点放置哪个属性。我们只需要将已经得到的结点看做一个新的根结点,利用最小化条件信息熵的方法即可。我们将小明并不会快要迟到作为一个条件,那么表格如下
在这里插入图片描述

然后再次计算条件信息熵(由于不会计算,省去该步骤0.0
我们看到天气因素的条件信息熵最小,为0,那么我们下一个节点就方式天气因素。这个时候其实我们就可以结束决策树的生长了,为什么呢?那么我们怎么判断什么时候结束决策树的生长呢?
因为我们在一直最小化条件信息熵,所以当我们发现所有特征的信息增益均很小,或者我们没有特征可以选择了就可以停止了。至此我们就构建出了我们的决策树。
那么我们最终的决策树如下图所示:
在这里插入图片描述
通过决策树我们很容易判断出天气恶劣、小明心情不好但是上班时间又比较充裕的情况下,小明的出行方式是选择打车。

四、决策树算法中的其它算法
在决策树当中,还有其它几种算法:常用的算法有 ID3算法,C4.5算法和 CART 算法
(由于还未学习这几种算法,在此不做过多介绍)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值