参考通俗理解决策树算法中的信息增益

说到决策树就要知道如下概念:

  • :表示一个随机变量的复杂性或者不确定性。

假如双十一我要剁手买一件衣服,但是我一直犹豫着要不要买,我决定买这件事的不确定性()为2.6。

  • 条件熵:表示在直到某一条件后,某一随机变量的复杂性或不确定性。

我在看了这件衣服的评价后,我决定买衣服这件事的不确定性是1.2。
我在线下实体店试穿衣服后,我决定买衣服这件事的不确定性是0.9。

  • 信息增益:表示在知道某一条件后,某一随机变量的不确定性的减少量。

上面条件熵给出了两个:
一个是看了网上的评价,此时的信息增益是\(Gain_1 =2.6-1.2=1.4\)。
另一个是线下试穿了衣服,此时的信息增益
\(Gain_2=2.6-0.9=1.7\)。

很显然我在线下试穿衣服之后对于决定买这件衣服的不确定度下降更多,更通俗的说就是我试穿衣服之后买这件衣服的可能性更大了。所以如果有看买家评价线下试穿两个属性,首先应该选择线下试穿来构建内部节点。

信息熵计算公式

  • 符号\(x_i\)所具备的信息为: \[I(x_i) = -log_2p(x_i)\]
  • 所有类别所具有的信息熵(information entropy):\[H(X) = -\sum_{i=1}^{n}p(x_i)log_2p(x_i)\]


MARSGGBO♥原创





2017-8-24

通俗理解决策树中的熵&条件熵&信息增益的更多相关文章

  1. B-概率论-熵和信息增益

    目录 熵和信息增益 一.熵(Entropy) 二.条件熵(Conditional Entropy) 三.联合熵(Joint Entropy) 四.相对熵(Relative Entropy) 4.1 相 ...

  2. CNN笔记:通俗理解卷积神经网络【转】

    本文转载自:https://blog.csdn.net/v_july_v/article/details/51812459 通俗理解卷积神经网络(cs231n与5月dl班课程笔记) 1 前言 2012 ...

  3. CNN笔记:通俗理解卷积神经网络

    CNN笔记:通俗理解卷积神经网络 2016年07月02日 22:14:50 v_JULY_v 阅读数 250368更多 分类专栏: 30.Machine L & Deep Learning 机 ...

  4. 通俗理解Android事件分发与消费机制

    深入:Android Touch事件传递机制全面解析(从WMS到View树) 通俗理解Android事件分发与消费机制 说起Android滑动冲突,是个很常见的场景,比如SliddingMenu与Li ...

  5. Effective Java通俗理解(持续更新)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

  6. Effective Java通俗理解(下)

    Effective Java通俗理解(上) 第31条:用实例域代替序数 枚举类型有一个ordinal方法,它范围该常量的序数从0开始,不建议使用这个方法,因为这不能很好地对枚举进行维护,正确应该是利用 ...

  7. 关于MySQL中的自联结的通俗理解

    关于MySQL中的自联结的通俗理解 前言:最近在通过SQL必知必会这本书学习MySQL的基本使用,在学习中也或多或少遇到了点问题,我也正好分享给大家,我的这篇博客用到的所有表格的代码都是来自SQL必知 ...

  8. Effective Java通俗理解(上)

    这篇博客是Java经典书籍<Effective Java(第二版)>的读书笔记,此书共有78条关于编写高质量Java代码的建议,我会试着逐一对其进行更为通俗易懂地讲解,故此篇博客的更新大约 ...

  9. OSI七层模式简单通俗理解

    OSI七层模式简单通俗理解 这个模型学了好多次,总是记不住.今天又看了一遍,发现用历史推演的角度去看问题会更有逻辑,更好记.本文不一定严谨,可能有错漏,主要是抛砖引玉,帮助记性不好的人.总体来说,OS ...

随机推荐

  1. Scrum立会报告+燃尽图(Final阶段第七次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2486 项目地址:https://coding.net/u/wuyy694 ...

  2. 四则运算level2

    package j; import java.util.Scanner; public class Main { public static void main(String[] args) { Sc ...

  3. [Latex] Travis-CI与Latex构建开源中文PDF

    博主有一本开源书籍,用 latex 排版,托管在Github上.但用 latex 不像是 Markdown,当tex文本更新时,用于最终浏览的PDF文件很难得到及时的更新, 所以博主一直想找到一套工具 ...

  4. “人向猿进阶”之软件工程第三课----WORDCOUNT.EXE统计程序

    ---恢复内容开始--- WC项目要求 这个项目要求写一个命令行程序,模仿已有的wc.exe的功能,并加以扩充,给出某程序设计源语言文件的字符数.单词数和行数.给实现一个统计程序,它能正确统计程序文件 ...

  5. Java认识对象

    一.类与对象 java中有基本类型和类类型两个类型系统.Java撰写程序几乎都在使用对象,要产生对象必须先定义类,类是对象的设计图,对象是类的实例 1.定义类 类定义使用的关键词为class,建立实例 ...

  6. Beta 冲刺 二

    团队成员 051601135 岳冠宇 031602629 刘意晗 031602248 郑智文 031602330 苏芳锃 031602234 王淇 照片 项目进展 岳冠宇 昨天的困难 fragment ...

  7. ThreadLocal变量

    什么是ThreadLocal变量?ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多.可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副 ...

  8. Spring之c3p0连接池xml配置和使用举例

    1.导入jar包 c3p0-0.9.5.2.jar mchange-commons-java-0.2.11.jar 2.源码: beans.xml <beans xmlns="http ...

  9. Java之File类详解

    常用操作: File f = new File("C:\\testdata\\filedir\\a\\b\\c"); f.mkdir(); //建立单级目录 f.mkdirs(); ...

  10. 一个由于springboot自动配置所产生的问题的解决

    由于我的项目里面需要使用到solr,我做了一下solr和springboot的整合,结果启动项目的时候,就报错了...报错的信息的第一行提示如下: org.springframework.beans. ...