H = Entropy

欢迎来到监督学习的第三种基本分类算法。 决策树。 像前面的章节(第1章:朴素贝叶斯和第2章:SVM分类器)一样,本章也分为两部分:理论和编码练习。

在这一部分中,我们将讨论理论和决策树背后的工作。 我们将看到该算法的一些数学方面,即熵和信息增益。 在第二部分中,我们修改了sklearn库中用于决策树分类器的垃圾邮件分类代码。 我们将比较朴素贝叶斯和SVM的准确性。

Dark side of rejection and hiring! :D

0.动机

假设我们有两个用黑色圆圈和蓝色方块表示的类的图。 可以画一条单独的分隔线吗? 也许没有。

Can you draw single division line for these classes?

我们将需要多个行来划分类。 与下图类似:

We need two lines one for threshold of x and threshold for y.

我们需要两条线,一条根据x的阈值分开,另一条根据y的阈值分开。

您现在已经猜到了决策树将要做什么。

决策树分类器通过识别线将工作区域(图)重复地划分为子部分。 (重复,因为如下图所示,可能存在两个相同类别的遥远区域除以另一个)。

那么它何时终止?

· 要么将其划分为纯类(仅包含单个类的成员)

· 满足分类器属性的某些条件。

我们很快将看到这两点。

1.杂质

在上面的划分中,我们清楚地划分了班级。 但是,如果我们有以下情况怎么办?

不纯是指我们有将一类划分为另一类的痕迹。 这可能是由于以下原因引起的

· 我们没有可用的功能来划分类。

· 我们可以忍受一定百分比的杂质(我们停止进一步的除法),以提高性能。 (在准确性和性能之间总是要取舍)。

例如,在第二种情况下,当我们剩下的元素数量少于x时,我们可以停止除法。 这也称为基尼杂质。

Division based on some features.

2.熵

熵是元素的随机度,换句话说,它是杂质的量度。 在数学上,可以借助以下几项的概率来计算:

p(x) is probability of item x.

它是概率x项x的概率对数的负和。
例如,如果我们将项目作为投掷事件中骰子面的出现次数为1123,则熵为

p(1) = 0.5 p(2) = 0.25 p(3) = 0.25entropy = - (0.5 * log(0.5)) - (0.25 * log(0.25)) -(0.25 * log(0.25) = 0.45

3.信息获取

假设我们有多个功能来划分当前工作集。 我们应该选择什么功能进行划分? 也许可以减少我们的杂质。

假设我们按如下所示将类划分为多个分支,则任何节点上的信息增益定义为

Information Gain (n) = Entropy(x) — ([weighted average] * entropy(children for feature))

这需要一点解释!

假设我们最初有以下课程可以使用

112234445

假设我们根据属性对其进行划分:可被2整除

根级熵:0.66左子级熵:0.45,加权值=(4/9)* 0.45 = 0.2右子级熵:0.29,加权值=(5/9)* 0.29 = 0.16信息增益= 0.66-[ 0.2 + 0.16] = 0.3

如果我们将决策作为质数而不是除以2,请检查我们获得了哪些信息增益?在这种情况下,哪种方法更好?

每一阶段的决策树都选择提供最佳信息增益的决策树。 当信息增益为0时,表示该功能完全不划分工作集。

让我们解决一个例子

既然您已经了解了决策树的基本知识,就可以解决示例并了解其工作原理。

假设我们有以下各种条件下打高尔夫球的数据。

现在,如果天气条件为:

前景:阴雨,温度:凉爽,湿度:高,大风:假

我们应该打高尔夫球吗?

开始时我们得到结果,因为NNYYYNYN(Y =是,N =否)按给定顺序进行。现在该根节点的熵为0.3,现在尝试对各种预测变量的前景,温度,湿度和Windy进行划分,并分别计算信息增益。哪一个信息增益最高?例如,如果基于Outlook进行划分,则划分如下:Rainy:NNN(熵= 0)Sunny:YYN(熵= 0.041)阴天:YY(熵= 0)因此信息增益= 0.3 -[0 +(3/8)* 0.041 + 0] = 0.28其他情况下,请尝试一下。基于Outlook划分时,信息增益最大。现在,Rainy和Overcast的杂质为0。在此不再赘述。我们需要分开Sunny,如果除以Windy,我们将获得最大的信息增益。Sunny YYN Windy?是:N否:YY因此决策树看起来如下图所示。没有预测数据是Outlook:下雨,温度:凉爽,湿度:高,多风:错误根据结果从树上流下,我们首先检查Rainy?答案是不,我们不打高尔夫球。

我希望本节对理解决策树分类器背后的工作有所帮助。 如果您有任何意见,建议或建议,请在下方写下来。

最后的想法

基于最大信息增益进行有效划分是决策树分类器的关键。 但是,在现实世界中,将数以百万计的数据划分为纯类实际上是不可行的(可能需要更长的训练时间),因此当满足某些参数(例如杂质百分比)时,我们会停在树节点上的点。 我们将在编码练习中看到这一点。

在下一部分中,我们将使用sklearn库在Python中编写决策树分类器。 我们将调整一些参数以通过容忍一些杂质来获得更高的精度。

在以下各节中,我们定义一些与决策树相关的术语,然后使用示例示例执行这些计算。

(本文翻译自Savan Patel的文章《Chapter 3 : Decision Tree Classifier — Theory》,参考:https://medium.com/machine-learning-101/chapter-3-decision-trees-theory-e7398adac567)

决策树分类器vc维如何计算_机器学习入门第三章:决策树分类器-理论相关推荐

  1. [52ABP实战系列] .NET CORE实战入门第三章更新了

    早安 各位道友好,.NET CORE入门视频的第三章也算录制完毕了.欢迎大家上传课网进行学习. 更新速度 大家也知道最近的社会新闻比较多.频繁发生404.关键字打不出来,我个人也在关注这些事件.导致精 ...

  2. Python入门第三章--第一节:条件判断语句

    从这一节开始,我们就进入到了进阶的阶段,这一章是在前一章的基础上进行提高扩展的,从本章开始,我会在每一节的结尾留下作业,大家可以将作业提交到我的邮箱或者直接将作业提交到QQ群的群文件中,我将在QQ群中 ...

  3. python入门第三章敏感词替换 文字排版工具 文本进度条 进制转换

    sensitive_character = '你好' # 敏感词库 test_sentence = input('请输入一段话:') for line in sensitive_character: ...

  4. 打开程序时固定位置_新手入门第五课:免费开源图像处理程序GIMP之矩形选择工具...

    GIMP是一款图像处理软件,是跟Photoshop同一类型的软件,为了方便介绍,后面每篇相关GIMP图像处理软件的介绍文章的开头,我都将插入一段文字,用于介绍GIMP是什么,让不熟悉的朋友知道这是干什 ...

  5. R语言入门第三集 实验二:基本数据处理

    R语言入门第三集 实验二:基本数据处理 一.资源 [R语言]R语言数据处理--东北大学大数据班R实训第二次作业 二.答案更新纠正 2.11.从df中选取date . item_id . cate_id ...

  6. LaTeX入门第三集!LaTeX的几个应用!

    LaTeX入门第三集!LaTeX的几个应用! 一.制作PPT Ctex+Texstudio beamer 制作slide(ppt)安装 二.画图 一般人们并不直接使用PGF底层命令,而是通过它前端Ti ...

  7. Linux入门第三集!JDK8的Linux版本资源分享!jdk-8u301-linux-x64.rpm官方资源分享!Linux安装JDK8教程!

    Linux入门第三集!JDK8的Linux版本资源分享!jdk-8u301-linux-x64.rpm官方资源分享!Linux安装JDK8教程! 提取码均为0916 jdk-8u301-linux-x ...

  8. Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发快速入门第1章创建一个简单的2D游戏 即使是现在,很多初学游戏开发的同学,在谈到Unity的时候,依然会认为Unity只能用于制作3D游戏的.实际上,Unity在2013年发布 ...

  9. python编程入门第3版pdf-Python编程入门第三版

    Python编程入门第三版PDF下载.Python编程入门第三版PDF是一款为Python编程人员制作的一款专业的Python编程从业基础教程,大量的实战例子让你轻松驾驭各种场景! Python编程入 ...

  10. LabVIEW入门第三天(软件及驱动包下载)

    LabVIEW入门第三天 欢迎大家阅读本篇文章,今天我给大家介绍LabVIEW的相关版本和驱动,欢迎有兴趣的一起学习探讨. 一,LabVIEW软件及驱动包下载 前面讲过LabVIEW是美国国家仪器(N ...

最新文章

  1. PCL调错:(3)error C2589“(“:“::“右边的非法标记
  2. Hololens2-OpenXR开发(一)-入门
  3. 无线路由器打印机服务器设置密码,路由器怎么设置打印机服务器设置
  4. 解读:MR多路径输入
  5. 正则表达式高级用法【原】
  6. JQuery弹出层,点击按钮后弹出遮罩层,有关闭按钮
  7. object数据类型
  8. 怪物猎人服务器维护时间,怪物猎人云服务器
  9. 服务器图文消息发送规则,群发图文规则 - CurtainRight的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. C++类成员的访问权限以及类的封装
  11. 常年“盘踞”数据库前五的 MongoDB,在中国有哪些新动向?
  12. 昆仑mcgs 通讯控制台达B2伺服采用modbus rtu方式,昆仑屏直接控制台达b2伺服的正反转,停止及速度设定,简单好上手
  13. Android一行代码去掉百度导航的底部工具箱菜单
  14. 千锋Python培训教程合集
  15. 谐波减速器的结构简图及传动比说明
  16. 企业微信如何自动同步外部客户信息到CRM系统
  17. 读书笔记17 《靠谱》大石哲之
  18. The Part-Time Parliament
  19. android与华为窄带物联网,中国移动联合华为在成都布局窄带物联网
  20. 10多个LearnDash示例和演示:从这些在线教育网站获得灵感!

热门文章

  1. HAXM 6.0.5显示不兼容Windows
  2. NBU官方Doc網址https://www.veritas.com/support/en_US/article.DOC5332
  3. 使用canto+w3m实现在控制台上完美阅读RSS
  4. 如何手动从Exchange2007/1010边缘/集线器传输服务器卸载ScanMail for Exchange(SMEX10.0)程序...
  5. 取消2008关机对话框
  6. 史上最全的主流CPU性能排名
  7. C#区分中英文统计字符串的长度
  8. 上广电D2527彩电兴暗故障检修
  9. 【论文】Realtime lane tracking of curved local road 检测和跟踪功能
  10. hadoop集群常见问题解决