python中CART分类回归树知识点实例
- 更新时间:2020-06-03 17:19:28
- 编辑:魏成和
决策树之CART(分类回归树)详解,具体内容如下
1、CART分类回归树简介
CART分类回归树是一种典型的二叉决策树,可以处理连续型变量和离散型变量。如果待预测分类是离散型数据,则CART生成分类决策树;如果待预测分类是连续型数据,则CART生成回归决策树。数据对象的条件属性为离散型或连续型,并不是区别分类树与回归树的标准,例如表1中,数据对象

2、CART分类回归树分裂属性的选择
2.1 CART分类树——待预测分类为离散型数据
选择具有最小
对于样本集
其中,在样本集
对于含有
其中,
对于属性
对于样本集

所得到的属性
2.2 CART回归树——待预测分类为连续型数据
区别于分类树,回归树的待预测分类为连续型数据。同时,区别于分类树选取
针对含有连续型分类结果的样本集
其中,
对于含有
对于属性
对于样本集
所得到的属性
3、CART分类回归树的剪枝
由于决策树的建立完全是依赖于训练样本,因此该决策树对训练样本能够产生完美的拟合效果。但这样的决策树对于测试样本来说过于庞大而复杂,可能产生较高的分类错误率。这种现象就称为过拟合。因此需要将复杂的决策树进行简化,即去掉一些节点解决过拟合问题,这个过程称为剪枝。
剪枝方法分为预剪枝和后剪枝两大类。预剪枝是在构建决策树的过程中,提前终止决策树的生长,从而避免过多的节点产生。预剪枝方法虽然简单但实用性不强,因为很难精确的判断何时终止树的生长。后剪枝是在决策树构建完成之后,对那些置信度不达标的节点子树用叶子结点代替,该叶子结点的类标号用该节点子树中频率最高的类标记。后剪枝方法又分为两种,一类是把训练数据集分成树的生长集和剪枝集;另一类算法则是使用同一数据集进行决策树生长和剪枝。常见的后剪枝方法有CCP(Cost Complexity Pruning)、REP(Reduced Error Pruning)、PEP(Pessimistic Error Pruning)、MEP(Minimum Error Pruning)。其中,悲观错误剪枝法PEP(Pessimistic Error Pruning)在“决策树之C4.5算法详解”中有详细介绍,感兴趣的小童鞋可以了解学习。这里我们详细介绍CART分类回归树中应用最广泛的剪枝算法——代价复杂性剪枝法CCP(Cost Complexity Pruning)。
代价复杂性剪枝法CCP(Cost Complexity Pruning)主要包含两个步骤:(1)从原始决策树
CCP剪枝法步骤(1)
生成子树序列
其中,
例如:图1中

图1,决策树中训练样本总个数为80。对于节点
表2
从表2可以看出,在原始树
CCP剪枝法步骤(2)
如何根据第1步产生的子树序列
参考文献
[1] 魏红宁. 决策树剪枝方法的比较[J]. 西南交通大学学报, 2005, 40(1):44-48.
[2] 张宇. 决策树分类及剪枝算法研究[D]. 哈尔滨理工大学, 2009.
[3] Breiman L, Friedman J H, Olshen R, et al. Classification and Regression Trees[J]. Biometrics, 1984, 40(3):358.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持码农之家。
相关教程
-
总结python3实现二叉树的遍历及递归算法
这篇文章主要介绍了python3实现二叉树的遍历与递归算法解析(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习
发布时间:2020-03-13
-
详细介绍python实现决策树C4.5算法
这篇文章主要为大家详细介绍了python决策树之C4.5算法的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2020-03-21
-
Python基于回溯法子集树模板解决旅行商问题详解
这篇文章主要介绍了Python基于回溯法子集树模板解决旅行商问题(TSP),简单描述了旅行商问题并结合实例形式分析了Python使用回溯法子集树模板解决旅行商问题的相关实现步骤与操作技巧,需要
发布时间:2019-12-22
-
Python把二叉树打印成多行
这篇文章主要介绍了Python编程把二叉树打印成多行代码,具有一定借鉴价值,需要的朋友可以参考下
发布时间:2020-01-28
-
Mac用python实现简单的目录树展示实例讲解
今天小编就为大家分享一篇在Mac下使用python实现简单的目录树展示方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
发布时间:2019-06-07
-
跟老齐学Python:Django实战
《跟老齐学Python:Django实战》是以Python为基础进行Web应用开发的进阶读物。适合已经具有Python基础技能、进行Web应用开发的读者。感兴趣的小伙伴们可以下载参考一下
大小:151 MBPython电子书
-
小白入门宝典:Python快速入门魔力手册
本教程全新的介绍了Python入门基础,以及各种各样的错误避免,以通俗易懂的语言,讲述Python开发,欢迎下载
大小:11.8 MBpython入门电子书
-
Odoo快速入门与实战:Python开发ERP指南
大小:21 MBOdoo入门
-
Python数据分析与挖掘实战
10余名大数据挖掘行业杰出权威专家和科技人员,10多年大数据分析资询与执行工作经验结晶体。从大数据挖掘的运用来看,以电力工程、航空公司、诊疗、互联网技术、生产加工及其公共文化
大小:46.8 MBPython电子书
-
Python基础教程(第3版)
本书是一本Python3.5编程从入门到实践书籍,Python入门佳作,包括Python程序设计的方方面面,既能为初学者夯实基础,又能帮助程序员提升技能
大小:10.1 MBpython电子书
-
跟老齐学Python:数据分析
大小:198.5 MBPython电子书
-
笨办法学Python
大小:873 KBPython电子书
-
Python编程之美:最佳实践指南
这书由Python小区的高手KennethReitz进行并机构撰写,由小区数十名开发人员团体无私奉献。*的特点取决于,几近详细地小结了在Python程序编写时会采用的各种各样实践活动方法和工作经验,包含
大小:29.3 MBPython编程电子书
-
Python语言程序设计基础
本书提出了以理解和运用计算生态为目标的Python语言教学思想,不仅系统讲解了Python语言语法,同时介绍了从数据理解到图像处理的14个Python函数库,向初学Python语言的读者展示了全新的编程语
大小:48.4 MBPython编程电子书
-
Python编程导论(第2版)
《Python编程导论 第2版》基于python3.5讲解计算机编程思想科学导论的入门书 麻省理工MIT热门MOOC教材,计算机科学基础知识教程,掌握用计算思维解决问题的能力。
大小:12.1MPython编程电子书