机器学习入门第三章:决策树分类器-理论
off999 2024-11-26 07:24 38 浏览 0 评论
欢迎来到监督学习的第三种基本分类算法。 决策树。 像前面的章节(第1章:朴素贝叶斯和第2章:SVM分类器)一样,本章也分为两部分:理论和编码练习。
在这一部分中,我们将讨论理论和决策树背后的工作。 我们将看到该算法的一些数学方面,即熵和信息增益。 在第二部分中,我们修改了sklearn库中用于决策树分类器的垃圾邮件分类代码。 我们将比较朴素贝叶斯和SVM的准确性。
0.动机
假设我们有两个用黑色圆圈和蓝色方块表示的类的图。 可以画一条单独的分隔线吗? 也许没有。
我们将需要多个行来划分类。 与下图类似:
我们需要两条线,一条根据x的阈值分开,另一条根据y的阈值分开。
您现在已经猜到了决策树将要做什么。
决策树分类器通过识别线将工作区域(图)重复地划分为子部分。 (重复,因为如下图所示,可能存在两个相同类别的遥远区域除以另一个)。
那么它何时终止?
· 要么将其划分为纯类(仅包含单个类的成员)
· 满足分类器属性的某些条件。
我们很快将看到这两点。
1.杂质
在上面的划分中,我们清楚地划分了班级。 但是,如果我们有以下情况怎么办?
不纯是指我们有将一类划分为另一类的痕迹。 这可能是由于以下原因引起的
· 我们没有可用的功能来划分类。
· 我们可以忍受一定百分比的杂质(我们停止进一步的除法),以提高性能。 (在准确性和性能之间总是要取舍)。
例如,在第二种情况下,当我们剩下的元素数量少于x时,我们可以停止除法。 这也称为基尼杂质。
2.熵
熵是元素的随机度,换句话说,它是杂质的量度。 在数学上,可以借助以下几项的概率来计算:
它是概率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)
相关推荐
- 台式机显卡天梯(笔记本显卡排行天梯图)
-
丽台显卡性能排行第一的是:丽台QuadroRTX8000第二是:丽台QuadroP620第三的是:丽台QuadroP2000第四是:丽台Quadrop4000第五是:丽台Quadrop1...
- win7更换壁纸(win7更换壁纸显示黑色)
-
1、首先点开桌面左下角的开始按钮然后在弹出的界面中找到控制面板并打开。2、在控制面板界面的个性化专栏中找到在找到屏幕保护程序并打开。3、在打开的新界面中找到屏幕保护程序并将选项更改为“无”保存后就完成...
- 如何获取windows7正版(如何获得正版win7)
-
关于这个问题,获得Windows7激活密钥的方法有几种:1.在购买Windows7时,通常会附带一张带有激活密钥的正版产品密钥卡。您可以查看产品盒内的卡片或说明书,以获取此密钥。2.如果您购买...
- 重装系统win7旗舰版62位(如何用重装系统win7旗舰版)
-
要重装Windows7系统,可以按照以下步骤进行操作:1.准备计算机:确保计算机已经安装了Windows11操作系统,因为Windows7的兼容性问题可能会影响安装过程。如果计算机上没有安装W...
- tp link app(TP LINKapp下载)
-
tplink手机app官方版是一款专为TP-LINK路由器手机设置应用,能够更好的管理TP-LINK路由器。tplink手机客户端特色1.实时获取路由器状态消息2.本地管理局域网内的TP-LINK路由...
- 如何彻底关掉windows更新(如果关闭windows更新)
-
方法一:Windows设置 要想关闭Win10自动更新,比较简单的一种方法就是进入到Windows设置中,将Windows更新直接关闭。步骤如下: 1、按“Windows+I”键,打开Wind...
- pe怎么制作u盘启动盘(pe制作u盘启动工具)
-
制作U盘启动PE的方法:1、准备一个8G或以上容量的U盘,接入电脑,u盘启动PE制作工具会自动识别u盘,2、接着,设置模式和格式,一般默认选择USB—HDD以及NTFS,点击一键制作成U盘启动PE...
- iso镜像系统下载(下载iso镜像文件)
-
vmwareiso镜像文件可以从VMware官网下载。具体的下载步骤如下:1.打开VMware官网,进入产品下载页面。2.在产品下载页面,选择需要下载的VMware产品,比如VMwareWork...
- 电脑分区工具哪个好用(电脑分区工具下载)
-
电脑分区助手使用方法1.首先先打开我们的分区助手。2.我们把鼠标放上去然后点击鼠标右键选择合并并分区。3.然后勾选上我们未分配的空间。4.然后就扩展完成了。1、《CrystalDiskMark》是一款...
- 字体大小怎么调(win10字体大小怎么调)
-
在大多数文字处理软件和编辑器中,设置字体大小通常是通过以下方法之一完成的:1.使用快捷键:常见的快捷键是使用Ctrl(或Command键)+"+"或"-...
- 联想电脑重装系统下载(联想系统重装软件)
-
联想电脑重装系统步骤:1、制作好U盘启动盘,然后把下载的联想win7系统iso文件直接复制到U盘的GHO目录下:2、在联想电脑上插入U盘,重启后不停按F12或Fn+F12快捷键打开启动菜单,选择U盘项...
-
- qq靓号注册入口(qq靓号注册免费申请网址)
-
目前是没有qq靓号申请器的,因为qq靓号都是由腾讯qq直售代理的,想要申请只能在会员界面支付若干个月会员便可以获得,不同的靓号价格可能不一样,使用期限必须要有qq超级会员。QQ靓号是腾讯公司推出的一种增值QQ号码,是腾讯QQ新推出的一款邮箱...
-
2026-01-11 01:03 off999
- 电脑显示已连接上但是无法上网
-
排查处理:一、若使用的是公共网络:1.尝试在人流量较少的地方使用,并确认热点可正常使用。2.请确认是否需通过浏览器登录网站注册后才能上网。二、若使用的是家庭网络,建议连接其他wifi或手机个人热点进行...
- 手动更新显卡驱动(更新显卡驱动教程)
-
方法如下:1.打开设备管理器。在Windows10中可以键入"设备管理器"来搜索。2.展开"显示适配器"选项。3.右键单击要更新的显卡并选择"更新驱动程...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
