Python+sklearn决策树算法入门

 2024-02-11 01:01:37  阅读 0

封面图片:《编程实验指南》,董富国主编,清华大学出版社

===========

在学习决策树算法之前,首先介绍几个相关的基本概念。

决策树分类算法代码_决策树分类算法的基本思想_决策树算法属于分类算法吗

决策树算法原理与实现

简单来说,决策树算法相当于一个多级嵌套的选择结构。 它通过回答一系列问题不断地在树上选择路径,最终到达代表某种结论或类别的叶节点,例如是否有贷款。 意向、能承受的财务风险程度、高考各科成绩最适合的学校和专业、一个人的诚信度、商场是否应该推出某种产品、是否会阳光明媚明天多云。

决策树是一种监督学习算法,需要基于已知样本进行训练以获得工作模型,然后利用该模型对未知样本进行分类。

在决策树算法中,构建完整树并用其进行分类的计算量和空间复杂度都非常高。 剪枝算法可以在保证模型性能的同时删除不必要的分支。 剪枝方法主要有两种:预剪枝和后剪枝。 预修剪在树的生长过程中设置了一个指标。 当达到该指标时,生长停止。 当前节点是叶子节点,不会再分裂,适合大样本。 定,但可能会导致模型出现较大误差。 后剪枝算法可以充分利用整个训练集的信息,但计算量较大,一般用于小样本的情况。

决策树的常见实现包括 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

标签: 决策树 算法

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码