封面图片:《编程实验指南》,董富国主编,清华大学出版社
===========
在学习决策树算法之前,首先介绍几个相关的基本概念。
决策树算法原理与实现
简单来说,决策树算法相当于一个多级嵌套的选择结构。 它通过回答一系列问题不断地在树上选择路径,最终到达代表某种结论或类别的叶节点,例如是否有贷款。 意向、能承受的财务风险程度、高考各科成绩最适合的学校和专业、一个人的诚信度、商场是否应该推出某种产品、是否会阳光明媚明天多云。
决策树是一种监督学习算法,需要基于已知样本进行训练以获得工作模型,然后利用该模型对未知样本进行分类。
在决策树算法中,构建完整树并用其进行分类的计算量和空间复杂度都非常高。 剪枝算法可以在保证模型性能的同时删除不必要的分支。 剪枝方法主要有两种:预剪枝和后剪枝。 预修剪在树的生长过程中设置了一个指标。 当达到该指标时,生长停止。 当前节点是叶子节点,不会再分裂,适合大样本。 定,但可能会导致模型出现较大误差。 后剪枝算法可以充分利用整个训练集的信息,但计算量较大,一般用于小样本的情况。
决策树的常见实现包括 ID3 (3)、C4.5、C5.0 和 CART。 ID3、C4.5、C5.0是分类树,CART是分类回归树。 其中,ID3以信息论为基础,以信息熵和信息增益为衡量标准,实现数据的归纳分类。 ID3算法从根节点开始,计算每个节点上所有可能特征的信息增益,选择信息增益最大的特征作为该节点的特征并分裂创建子节点,不断递归这个过程,直到构造完成。决策树的构建完成。 ID3适用于二分类问题,只能处理离散属性。
C4.5是ID3的改进。 它根据信息增益率选择属性,在树构建过程中进行剪枝操作,可以离散化连续属性。 该算法首先对特征值进行排序,并使用两个连续值的中间值作为划分标准。 尝试每次划分,计算校正后的信息增益,选择信息增益最大的分裂点作为该属性的分裂点。
分类回归树CART(And Tree)以二叉树的形式给出,比传统统计方法构建的代数预测准则更加准确。 数据越复杂、变量越多,算法的优越性越显着。
扩展库.tree中使用CART算法的优化版本来实现分类决策树er和回归决策树r。 官方在线帮助文档是。 本文重点介绍分类决策树ER的使用。 此类构造方法的语法为:
(自我,='基尼',='最佳',=无,=2,=1,叶=0.0,=无,=无,=无,e=0.0,=无,=无,=假)
其中,常用参数及其含义如下表所示。
表er类构造方法参数及其含义
参数名称
意义
用于执行测量分裂质量(创建子节点)的功能。 当值为“gini”时,使用基尼值。 当为“”时,使用信息增益。
用于指定每个节点选择分区的策略,可以是'best'或'''
用于指定树的最大深度。 如果不指定,节点将被扩展,直到所有叶子包含的样本数少于样本数,或者所有叶子节点不再可分离。
用于指定分裂节点时所需的最小样本数。 当该值为实数时,它表示百分比。
叶子节点所需的最小样本数
用于指定寻找最佳分割时要考虑的特征数量
用于设置最大叶子数
e
如果一个节点的分裂可以使杂质减少大于或等于e的值,则分裂该节点。
用于设置树生长过程中提前停止的阈值。 如果一个节点的杂质度高于这个阈值,那么它就会被分裂。 否则,叶子将不再分裂。
用于设置拟合时是否对数据进行预排序,以加快寻找最佳分割的过程。
该类对象的常用方法如下表所示。
类的常用方法
方法
功能
适合(自我,X,y,=无,=真,=无)
根据给定的训练集构建决策树分类器
(自己,X)
预测样本集X属于不同类别的对数概率
(自我,X,=真)
预测样本集X属于不同类别的概率
应用(自我,X,= True)
返回每个样本的预测叶子索引
(自我,X,=真)
返回树中的决策路径
(自我,X,=真)
返回样本集X的类别或回归值
分数(自身,X,y,=无)
根据给定的数据和标签计算模型准确率的平均值
另外,可以使用.tree模块的函数()导出训练好的决策树数据,然后使用扩展库中的函数绘制决策树图。 () 函数语法为:
(, =None, =None, =None, label='all', =False, =False, =True, =False, =False, =False, =False, =False, =3 )
为了能够绘制图形并输出文件,需要从以下地址下载安装包。 安装完成后,将安装路径的bin文件夹路径添加到系统环境变量Path中。
然后执行以下代码:
代码运行后生成的abc.pdf文件内容:
温馨提示
关注这个公众号“小屋”,您可以通过菜单“最新资源”==>“历史文章”快速查看按主题分类的800篇技术文章列表(您可以根据关键词在页面中搜索感兴趣的文章) ,并通过“最新资源”==>“历史文章资源”==>“微课专区”让您免费观看300节微课。 您可以通过“最新资源”==>“培训动态”查看近期培训安排,也可以通过“最新资源”==>“教学资源”教育资源查看。
--------董富国老师系列书籍--------
友情提醒:不建议购买太多。 最好先通过京东、当当、天猫查看书籍,了解目录和侧重点,然后选择购买适合自己的书籍。
1)《程序设计(第2版)》清华大学出版社,2016年8月
2)《你可以这样学》清华大学出版社,2017年2月
3)《程序设计基础(第2版)》清华大学出版社,2018年1月
4)《中学生如何学习》清华大学出版社,配套微课:
5)《编程与开发指南》清华大学出版社,2018年10月
6)《轻松玩转二级》清华大学出版社,2018年5月
7)《编程基础与应用》机械工业出版社,2018年9月
8)《编程实验指南》清华大学出版社,2019年4月
9)《编程基础与案例集(初中版)》电子工业出版社,2019年4月
10)《大数据基础》机械工业出版社,预计2019年5月出版
11)译《编程》,机械工业出版社(华章),2018年11月出版
12)《你可以这样学》繁体版,抖音(),2017年10月出版。本书为台湾发行的《你可以这样学》繁体版。 两本书的内容是一样的。 不建议重复购买。 。
课后习题答案
实验说明
教学大纲
课件
报告PPT