17 丨决策树(上):要不要去打篮球?决策树来告诉你
陈旸
该思维导图由 AI 生成,仅供参考
想象一下一个女孩的妈妈给她介绍男朋友的场景:
女儿:长的帅不帅?
妈妈:挺帅的。
女儿:有没有房子?
妈妈:在老家有一个。
女儿:收入高不高?
妈妈:还不错,年薪百万。
女儿:做什么工作的?
妈妈:IT 男,互联网公司做数据挖掘的。
女儿:好,那我见见。
在现实生活中,我们会遇到各种选择,不论是选择男女朋友,还是挑选水果,都是基于以往的经验来做判断。如果把判断背后的逻辑整理成一个结构图,你会发现它实际上是一个树状图,这就是我们今天要讲的决策树。
决策树的工作原理
决策树基本上就是把我们以前的经验总结出来。我给你准备了一个打篮球的训练集。如果我们要出门打篮球,一般会根据“天气”、“温度”、“湿度”、“刮风”这几个条件来判断,最后得到结果:去打篮球?还是不去?
上面这个图就是一棵典型的决策树。我们在做决策树的时候,会经历两个阶段:构造和剪枝。
构造
什么是构造呢?构造就是生成一棵完整的决策树。简单来说,构造的过程就是选择什么属性作为节点的过程,那么在构造过程中,会存在三种节点:
根节点:就是树的最顶端,最开始的那个节点。在上图中,“天气”就是一个根节点;
内部节点:就是树中间的那些节点,比如说“温度”、“湿度”、“刮风”;
叶节点:就是树最底部的节点,也就是决策结果。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
决策树是一种重要的数据挖掘工具,通过构造和剪枝两个阶段来帮助我们做出各种选择。在构造阶段,我们选择属性作为节点,并解决选择根节点、子节点和停止条件的问题。剪枝阶段则旨在防止过拟合现象的发生,提高决策树的泛化能力。决策树的应用领域广泛,可以帮助我们做出各种决策,如选择男女朋友或挑选水果。 文章还介绍了ID3算法和C4.5算法。ID3算法简单易懂,但倾向于选择取值较多的属性作为最优属性,可能导致无关属性被选为最优属性的情况。C4.5算法在ID3的基础上进行了改进,采用信息增益率、悲观剪枝、离散化处理连续属性和处理缺失值等方式,提高了决策树的泛化能力和适用性。 总的来说,决策树是一种强大的工具,能够帮助我们在面对复杂决策时进行有效的选择。通过了解决策树的构造原理和相关算法,我们可以更好地理解其应用和局限性,为实际问题的解决提供有力支持。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《数据分析实战 45 讲》,新⼈⾸单¥59
《数据分析实战 45 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(93)
- 最新
- 精选
- 小熊猫决策树学习通常包括三个步骤: 1. 特征选择。选取最优特征来划分特征空间,用信息增益或者信息增益比来选择 2. 决策树的生成。ID3、C4.5、CART 3. 剪枝 总结优缺点: ID3: 优点:算法简单,通俗易懂 缺陷:1. 无法处理缺失值 2. 只能处理离散值,无法处理连续值 3. 用信息增益作为划分规则,存在偏向于选择取值较多的特征。因为特征取值越多,说明划分的 越细,不确定性越低,信息增益则越高 4. 容易出现过拟合 C4.5: 优点:1. 能够处理缺省值 2. 能对连续值做离散处理 3. 使用信息增益比,能够避免偏向于选择取值较多的特征。因为信息增益比=信息增益/属性 熵,属性熵是根据属性的取值来计算的,一相除就会抵消掉 4. 在构造树的过程中,会剪枝,减少过拟合 缺点:构造决策树,需要对数据进行多次扫描和排序,效率低 学习的时候发现了这两点错误: 1. Gain(D , 天气)=0 ---> 1 Gain(D , 湿度)=0 ----> 1 Gain(D , 刮风)=0.0615 2. 针对将属性选择为温度的信息增益率为: Gain(D′, 温度)=Ent(D′)-0.792=1.0-0.792=-0.208 这里算出来的还是信息增益,不是信息增益率,没有除以属性熵 属性熵=-3/6log3/6 - 1/6log1/6 - 2/6log2/6 作业: 经验熵 H(D) = -1/2log1/2 - 1/2log1/2 = 1 属性 红的信息增益: g(D, A1) = H(D) - H(D|A1) = 1 - 1/2*0 - 1/2 * 0 = 1 属性 大的信息增益: g(D,A2) = 1 - 1/2*(-1/2log1/2-1/2log1/2)*2 = 0 属性熵都是1,所以信息增益比跟信息增益一样 特征选择 红作为最优特征,红的就是好苹果,不红的就是坏苹果
作者回复: Good Job
2019-02-14579 - JingZ今天去面试一个金融分析师职位 问:算法知道吗? 我答:还在学习中,但我会python 爬虫,Numpy/Pandas~还有标准化(心想为嘛早上不认真看看今天的课程,起码说的出来C4.5是啥)😂😂 以后要好好做作业~及时看课程
作者回复: 加油 有进步收获就好
2019-01-21319 - 滢根集合D = {2个好苹果,2个不是号苹果},求得Ent(D) = 1。 按红作为属性划分可得$D_1、D_2$两个子集 $D_1$ (红 = 是) = {2个好苹果} $D_2$ (红= 否) = {2个不是好苹果} 可得Ent( $D_1$ ) = 0 、Ent( $D_2$ ) = 0 可得归一化信息熵为$\dfrac{1}{2} \times 0 + \dfrac{1}{2} \times 0 $ = 0 则G(D,红) = 1-0 = 1 按大作为属性,同样可得 $D_1、D_2$两个子集 $D_1$ (大 = 是) = {1个好苹果,1个不是好苹果} $D_2$ (大 = 否) = {1个好苹果,1个不是好苹果} 可得Ent( $D_1$ ) = 1 、Ent( $D_2$ ) = 1 归一化信息熵 = $\dfrac{2}{4}\times1 + \dfrac{2}{4}\times1$ = 0.5 则G(D,大)= 1- 0.5 = 0.5 由此可得按红作为属性的信息增益大于按大作为属性的信息增益,所以选择红作为根节点。 接着在红为是的基础上,分析按大作为属性的信息增益。在红为是的集合里共有两个苹果集合D = {2个好苹果} Ent(D) = 0 $D_1$ (大 = 否) = {1个好苹果} $D_2$ (大 = 是) = {1个好苹果} Ent( $D_1$ ) = 0 、Ent( $D_2$ ) = 0 G(D,大) = 0 因为大是与否在红决定的前提下对好苹果的决定没有影响,所以剪去该分支。
作者回复: 整理的不错 很认真啊 滢
2019-04-1716 - 李龍算法一点听不懂咋整
作者回复: 慢慢来,先理解概念,然后掌握工具使用
2019-01-22215 - aDongaDong脑瓜疼
作者回复: 慢慢来 我整理的时候也是,现在头发都掉了一些,主要是公式计算比较多啊
2019-04-1827 - 黄加生老师你好,根据信息增益公式的构造,不应该是信息增益越小,纯度越高么?还有假设按照编号进行划分,那么他的信息增益算出来应该是最小的才对,因为子节点的归一化信息熵之和是1!您看可以解释一下不?
作者回复: 信息熵代表信息的不确定度,信息熵越高,不确定度越高;而信息增益指的是划分可以带来纯度的提高,信息熵的下降;你可以理解为信息增益代表当我们知道某一个特征后,它的不确定性减少的程度。因此信息增益越大,信息熵下降越多,纯度越高。 信息增益在决策树算法中是用来选择特征的指标,信息增益越大,则这个特征的选择性越好
2020-12-143 - Geek_4b34a9一个小建议:对于这种信息密度极度不对等的培训材料,区别于小说类科普类的材料,我认为以同样的语速从头到尾把内容念出来,没有太大的意义,增加语音反而是起到反效果。如果该停顿的地方没有细致的超出文本材料的讲解,真的没必要加这个语音,会让人把精力分摊到非重点内容上。
作者回复: 感谢同学的建议哦
2020-05-1222 - 周飞1.根结点的信息熵是 -(1/2*log(1/2)+1/2*log(1/2) = 1 2.假如以红来作为根结点,那么有两个叶子 红和不红, 红的信息熵是 -(1*log(1))= 0 不红的信息熵是 -(1*log(1)) = 0 所以 以红作为根结点的信息增益是 1-0 = 1 3.假如以大来作为根结点,那么有两个叶子节点: 大和不大 大的信息熵是 -(1/2*log(1/2)+1/2*log(1/2)) = 1 不大的信息熵是 -(1/2*log(1/2)+1/2*log(1/2)) = 1 以大作为根结点的信息增益是 1- (1/2*1 +1/2*1) = 0; 因为 以红作为根结点的信息增益大于以 大来作为根结点的信息增益,所以选择红来作为根结点。 4.第一个叶子节点 的节点是大 ,第二个叶子节点的节点也是大。
作者回复: Good Job
2019-03-022 - ken苹果-大的信息熵:5/3 苹果-红的信息熵:1 归一化的信息熵:1 苹果-大信息增益更大,作为根节点,红作为子节点。 决策树: 大(是)-红(是)-好苹果(是) 大(是)-红(否)-好苹果(否) 大(否)-红(是)-好苹果(是) 大(否)-红(否)-好苹果(否)
作者回复: Good Job
2019-01-212 - GS看了四五遍看不懂,拿笔和计算器算了一波,才懂了一点点。
作者回复: 不错GS同学~ 还是自己手推一遍更清楚
2019-11-261
收起评论