决策树(decision tree):是机器学习常见的算法之一。是基于树形结构进行决策的。

讲决策树就要提到“信息熵”、“信息增益”、“增益率”和“基尼指数”的概念。

我们先来介绍一下这几个概念:(讲解针对离散型数据,连续型暂时不讲)

信息熵(information entropy):是度量样本集合纯度的一种指标。本文使用Ent表示。

  

其中,D表示样本集合(比如现有100个苹果的数据,D就表示这100个苹果),y表示标签可选择的个数(比如判断苹果的好坏,有“好”和“坏”两种结果,所以y=2),Pk表示第k类样本所占的比例(例如好苹果有80个,则p1=0.8,p2=0.2)。通过上式可以计算出信息熵的值。

信息熵的值越小,说明集合D的纯度越高,即属于同一类别的苹果就越多。当全部属于同一类别时,信息熵的值为0.

信息增益(information gain):

    

a表示样本众多属性中的一个(比如苹果的颜色,产地,体型等都是属性),v表示a这个属性可以取值的个数(比如,苹果体型这个属性可以去大、中、小三个值,v=3),Dv表示属性a取值为v的时候的样本空间(比如,全部体型大的苹果,或者全部体型小的苹果),D让然表示全部的样本空间(所有的苹果)。通过上式可以计算出信息增益。

信息增益的值越大,则意味着用属性a来划分,所获得的“纯度提升”越大。换句话说,就是把好坏苹果分的越清楚。

计算出所有的属性所对应的信息增益值,选择最大的那个属性,按该属性将苹果进行划分,判断苹果是好还是坏。之后再对划分后的子集合在利用相同的方法选择属性进行划分(已使用过的属性将不再使用),知道划分后的苹果属于同一类别(都是好的,或者都是坏的)。著名的ID3算法就是以信息增益为准则来选择划分属性的。

信息增益对可取值数目较多的属性有所偏好,当一个属性的可取值很多时,他的信息增益也就回变的很大。(不妨私下试一试)

假如某个属性是标号,那么有多少个样本,该属性就有多少个取值,该属性的信息增益肯定是最大的,但是我们在划分的时候是不会按样本编号来划分的。所以我们要消除这样属性给我们带来的错误。这就有了增益率。

增益率(gain ratio):

  

IV(a)称属性a的“固有值”,当属性a可取的值的个数越多时,IV(a)的值越大。增益率=信息增益/固有值。

因为,增益率对取值较少的的属性有所偏好。所以在选区划分属性的时候并不是单纯的选择增益了最高的那个,而是在信息增益高于平均水平的属性中,选择增益率最高的那个。

著名的C4.5算法就是以增益率为准则来选择划分属性的。

基尼指数:

数据集D的纯度可以用基尼值来度量。基尼值(Gini)反应了从数据集D中随机抽取两个样本,其类别标签不一样的概率。 基尼值越小,数据集D的纯度越高。

所以,我们会选择基尼指数最小的那个属性进行划分。

CART决策树(classification and regression tree)就是使用基尼指数来选取划分属性的。

参考书籍是 南京大学 周志华老师的 《机器学习》

最新文章

  1. 11.Object方法
  2. shell
  3. C#多线程学习(一) 多线程的相关概念(转)
  4. Win10 资源文件
  5. ValueStack值栈和ActionContext
  6. nignx+php-fpm环境下 phpmyadmin打开空白的原因探究
  7. c# 与 Unity3d 中的序列化
  8. String的几种初始化方法的区别
  9. jQuery技术内幕电子版5
  10. set up size, title to tcl tk main window
  11. Mongodb 集群搭建以及常见错误
  12. 解决ie阴影的兼容性
  13. 版本控制之四:SVN客户端重新设置帐号和密码(转)
  14. Sublime 个人配置
  15. 《Linux内核分析》实践2
  16. linux下yum安装最新稳定版nginx
  17. 2018/03/08 每日一个Linux命令 之 chattr/lsattr
  18. MySql 语句收集
  19. 分布式存储Seaweedfs源码分析
  20. 【ASP.NET】第一个ASP.NET MVC应用程序

热门文章

  1. IOS之constraints
  2. Selenium私房菜系列10 -- 我遇到的问题及解决问题的方法
  3. uva12264 Risk
  4. abp viewmodel的写法
  5. 系统学习爬虫_2_urllib
  6. SSIS 通过 WINscp 从SFTP下载文件
  7. activiti整合开发实例总结
  8. postgresql+pgadmin3安装
  9. NOIp2018心得
  10. luogu2312 解方程 (数论,hash)