机器学习之树模型的学习(一):决策树
文章目录
- 一、决策树的概念
- 二、决策树的构件过程
- 三、决策树的特点
- 四、决策树的使用
- 五、 一图总结
一、决策树的概念
决策树是一种机器学习的方法。决策树的生成算法有ID3, C4.5和C5.0等。决策树是一种树形结构,其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。
决策树是一种十分常用的分类方法,需要监管学习(有教师的Supervised Learning),监管学习就是给出一堆样本,每个样本都有一组属性和一个分类结果,也就是分类结果已知,那么通过学习这些样本得到一个决策树,这个决策树能够对新的数据给出正确的分类。
决策树通常有三个步骤:特征选择、决策树的生成、决策树的修剪。
用决策树分类:从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子节点,此时每个子节点对应着该特征的一个取值,如此递归的对实例进行测试并分配,直到到达叶节点,最后将实例分到叶节点的类中。
下图为决策树示意图,圆点——内部节点,方框——叶节点
决策树学习的目标:根据给定的训练数据集构建一个决策树模型,使它能够对实例进行正确的分类。
决策树学习的本质:从训练集中归纳出一组分类规则,或者说是由训练数据集估计条件概率模型。
决策树学习的损失函数:正则化的极大似然函数
决策树学习的测试:最小化损失函数
决策树学习的目标:在损失函数的意义下,选择最优决策树的问题。
决策树原理和问答猜测结果游戏相似,根据一系列数据,然后给出游戏的答案。
二、决策树的构件过程
决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。
1) 开始:构建根节点,将所有训练数据都放在根节点,选择一个最优特征,按着这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下最好的分类。
2) 如果这些子集已经能够被基本正确分类,那么构建叶节点,并将这些子集分到所对应的叶节点去。
3)如果还有子集不能够被正确的分类,那么就对这些子集选择新的最优特征,继续对其进行分割,构建相应的节点,如果递归进行,直至所有训练数据子集被基本正确的分类,或者没有合适的特征为止。
4)每个子集都被分到叶节点上,即都有了明确的类,这样就生成了一颗决策树。
三、决策树的特点
优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以处理不相关特征数据。
缺点:可能会产生过度匹配的问题
适用数据类型:数值型和标称型
首先:确定当前数据集上的决定性特征,为了得到该决定性特征,必须评估每个特征,完成测试之后,原始数据集就被划分为几个数据子集,这些数据子集会分布在第一个决策点的所有分支上,如果某个分支下的数据属于同一类型,则当前无序阅读的垃圾邮件已经正确的划分数据分类,无需进一步对数据集进行分割,如果不属于同一类,则要重复划分数据子集,直到所有相同类型的数据均在一个数据子集内。
四、决策树的使用
收集数据:可以使用任何方法。比如想构建一个相亲系统,我们可以从媒婆那里,或者通过参访相亲对象获取数据。根据他们考虑的因素和最终的选择结果,就可以得到一些供我们利用的数据了。
准备数据:收集完的数据,我们要进行整理,将这些所有收集的信息按照一定规则整理出来,并排版,方便我们进行后续处理。
分析数据:可以使用任何方法,决策树构造完成之后,我们可以检查决策树图形是否符合预期。
训练算法:这个过程也就是构造决策树,同样也可以说是决策树学习,就是构造一个决策树的数据结构。
测试算法:使用经验树计算错误率。当错误率达到了可接收范围,这个决策树就可以投放使用了。
使用算法:此步骤可以使用适用于任何监督学习算法,而使用决策树可以更好地理解数据的内在含义。
五、 一图总结
以上说了很多关于决策树比较细的知识点,对于重要的内容,我已经总结成了下图,希望对大家有帮助
机器学习之树模型的学习(一):决策树相关推荐
- 机器学习中树模型算法总结之 决策树(下)
写在前面 首先回顾一下上一篇的相关内容,主要是理论的介绍了决策树的模型及几种常见的特征选择准则,具体可参见机器学习中树模型算法总结之 决策树(上).今天主要接着学习,包括决策树的生成(依赖于第一篇的三 ...
- 机器学习中树模型算法总结之 决策树(上)
写在前面 在网上看XGBoost资料的时候觉得自己以前看的树模型算法都忘得差不多了,所以就趁着这个机会把机器学习里的树模型算法重新再过一遍,主要包括决策树.随机森林.提升树.XGBoost等等. 1. ...
- 树模型集成学习(Tree Embedding)
树模型集成学习 集成学习主要有两个思想,分别是bagging和boosting.树模型的集成模型都是使用树作为基模型,最常用的cart树,常见的集成模型有RandomForest.GBDT.Xgboo ...
- 【机器学习】树模型预剪枝和后剪枝
在树模型建模的过程中的树模型的超参数会影响模型的精度,那么如何调整超参数呢?可以提前限制模型的超参数,也可以在训练模型之后再调整.本文将介绍树模型的预剪枝和后剪枝的实践过程. 原始模型 使用基础数据集 ...
- 机器学习之分类模型(二)——决策树
机器学习算法(二): 决策树 0. 前言 0.1 决策树介绍 0.2 决策树应用 1. 天池实验室算法实战--企鹅数据 1.0 代码流程预览 1.1 Demo实践 Step1: 库函数导入 Step2 ...
- 【机器学习】树模型遇上类别型特征(Python)
在数据挖掘项目的数据中,数据类型可以分为两种:有序的连续数值 和 无序的类别型特征. 对于xgboost.GBDT等boosting树模型,基学习通常是cart回归树,而cart树的输入通常只支持连续 ...
- 【机器学习】树模型决策的可解释性与微调(Python)
一.树模型的解释性 集成学习树模型因为其强大的非线性能力及解释性,在表格类数据挖掘等任务中应用频繁且表现优异. 模型解释性对于某些领域(如金融风控)是极为看重的,对于树模型的解释性,我们常常可以通过输 ...
- 机器学习(三)树模型
机器学习(一)LR 机器学习(二)SVM 机器学习(三)树模型 机器学习(四)聚类 机器学习(三)树模型 目录 二.树模型 1.ID3 2.C4.5 3.CART树 (1)算法步骤 (2)举例 (3) ...
- 决策树入门以及树模型的参数选择
决策树及树模型的参数选择 决策树的基本概念 在数据结构中树是一个重要的数据结构,这里树被我们根据分支起到一个决策的作用.什么是决策?通俗的说就是判断或者决定,我们引用周志华的西瓜书中的例子:这是一个好 ...
- ML机器学习基于树的家族
ML机器学习基于树的家族 目录 决策树模型与学习 特征选择 决策树的生成 3.1 决策树的编程实现 3.2 画出决策树的方式 决策树的剪枝 DBGT 随机森林 参考资料: 机器学习实战 统计学习方法 ...
最新文章
- cocos 卡牌类_优质链游大爆发,Cocos-BCX版《恶龙必须死》有什么特别之处?
- glm.fit Warning Messages in R: algorithm didn’t converge probabilities 0/1
- Elasticsearch之深入了解Search的运行机制
- 上海肯特选用Ultimus 提升企业管理
- 【FI学习笔记】AR部分快速IMG配置
- Web开发中8个基础常见功能
- CodeForces - 1535E Gold Transfer(树上倍增+交互)
- python编写脚本方法_python 定时器,实现每天凌晨3点执行的方法
- mysql round 0.1111_听说Mysql你很豪横?-------------分分钟带你玩转SQL高级查询语句(库函数,存储过程)...
- Linux内核分析(八) 设备驱动
- java windows wrapper_Java Service Wrapper 发布Java程序为Windows服务
- ARCGIS 分区统计的时候,出现无法解决的重大问题,程序崩溃
- [GIS教程] 5.3 空间数据组织
- web前端开发做项目,CSS盒子模型居中方法
- A 5G Odyssey :2021北京漫游
- 初级第五旬07— 初级课程第五旬试题
- MapReduce之Partition分区实例操作
- 第四回 还君明珠双泪垂,恨不相逢未嫁时
- C#支付宝支付接口H5版(手机网页支付)
- power bi中的TREATAS函数!
热门文章
- 中国AI监控摄像头市场现状研究分析与发展前景预测报告(2022)
- GDB 的几个用法(until, finish, tui)
- (完全解决)argparse中dest是什么意思
- Raspberry Pi 树莓派切换国内源
- js: color-thief在浏览器中拾取图片的主色调
- 鱼香肉丝里到底有没有鱼?
- python基础题-字符串列表训练
- outlook邮件通过python发送_怎么发送邮箱-python调用outlook发送邮件的超详细操作步骤...
- python 命令运行环境下 ModuleNotFoundError: No module named 'Test'
- QT 控件增加双击事件