id3不能直接处理连续性的特征,需要将连续性的转化成离散的,但是会破坏连续性特征的内在结构。

一、概念

CART全称叫Classification and Regression Tree。首先要强调的是CART假设决策树是二叉树,内部结点特征的取值只有“是”和“否”,左分支是取值为“是”的分支,有分支则相反。这样的决策树等价于递归地二分每个特征。

CART分类回归树是一种典型的二叉决策树,可以做分类或者回归。如果待预测结果是离散型数据,则CART生成分类决策树;如果待预测结果是连续型数据,则CART生成回归决策树。数据对象的属性特征为离散型或连续型,并不是区别分类树与回归树的标准,例如表1中,数据对象的属性A、B为离散型或连续型,并是不区别分类树与回归树的标准。作为分类决策树时,待预测样本落至某一叶子节点,则输出该叶子节点中所有样本所属类别最多的那一类(即叶子节点中的样本可能不是属于同一个类别,则多数为主);作为回归决策树时,待预测样本落至某一叶子节点,则输出该叶子节点中所有样本的均值。

二、CART生成

决策树的生成就是递归地构建二叉决策树的过程,对回归树用平方误差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。

三、回归树的生成最小二叉回归树生成算法:

1、选择最优切分变量j与切分点s,求解:

遍历变量j,对固定的切分变量j扫描切分点s,选择使上式取得最小值的对(j,s)。其中Rm是被划分的输入空间,Cm空间Rm对应的输出值。

2、用选定的对(j,s)划分区域并决定相应的输出值:

3、继续对两个子区域调用步骤1,直至满足停止条件。

4、将输入空间划分为M个区域R1,R2,...Rm生成决策树:

四、示例

上面的东西有点难以理解,下面举个例子来说明。

训练数据见下表,x的取值范围为区间[0.5,10.5],y的取值范围为区间[5.0,10.0],学习这个回归问题的最小二叉回归树。

  1 2 3 4 5 6 7 8 9 10
  5.56 5.70 5.91 6.40 6.80 7.05 8.90 8.70 9.00 9.05

求解训练数据的切分点s:

容易求得在R1、R2内部使得平方损失误差达到最小值的c1、c2为:

这里N1、N2是R1、R2的样本点数。

求训练数据的切分点,根据所给数据,考虑如下切分点:

1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5。

对各切分点,不难求出相应的R1、R2、c1、c2及

例如,当s=1.5时,R1={1},R2={2,3,...,10},c1=5.56,c2=7.50,则

现将s及m(s)的计算结果列表如下:

s 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
m(s) 15.72 12.07 8.36 5.78 3.91 1.93 8.01 11.73 15.74

由上表可知,当x=6.5的时候达到最小值,此时R1={1,2,...,6},R2={7,8,9,10},c1=6.24,c2=8.9,所以回归树T1(x)为:

CART回归树基本原理(具体例子)的更多相关文章

  1. CART回归树

    决策树算法原理(ID3,C4.5) 决策树算法原理(CART分类树) 决策树的剪枝 CART回归树模型表达式: 其中,数据空间被划分为R1~Rm单元,每个单元有一个固定的输出值Cm.这样可以计算模型输 ...

  2. 大白话5分钟带你走进人工智能-第二十六节决策树系列之Cart回归树及其参数(5)

                                                    第二十六节决策树系列之Cart回归树及其参数(5) 上一节我们讲了不同的决策树对应的计算纯度的计算方法, ...

  3. 机器学习实战---决策树CART回归树实现

    机器学习实战---决策树CART简介及分类树实现 一:对比分类树 CART回归树和CART分类树的建立算法大部分是类似的,所以这里我们只讨论CART回归树和CART分类树的建立算法不同的地方.首先,我 ...

  4. 作业三:CART回归树

    作业三:CART回归树 20大数据三班 博客链接 学号 201613336 问题一: 表1为拖欠贷款人员训练样本数据集,使用CART算法基于该表数据构造决策树模型,并使用表2中测试样本集确定剪枝后的最 ...

  5. 决策树CART回归树——算法实现

    决策树模型 选择最好的特征和特征的值进行数据集划分 根据上面获得的结果创建决策树 根据测试数据进行剪枝(默认没有数据的树分支被剪掉) 对输入进行预测 模型树 import numpy as np de ...

  6. 分类回归树(CART)

    概要 本部分介绍 CART,是一种非常重要的机器学习算法.   基本原理   CART 全称为 Classification And Regression Trees,即分类回归树.顾名思义,该算法既 ...

  7. 回归树(Regression Tree)

    目录 回归树 理论解释 算法流程 ID3 和 C4.5 能不能用来回归? 回归树示例 References 说到决策树(Decision tree),我们很自然会想到用其做分类,每个叶子代表有限类别中 ...

  8. 决策树算法原理(CART分类树)

    决策树算法原理(ID3,C4.5) CART回归树 决策树的剪枝 在决策树算法原理(ID3,C4.5)中,提到C4.5的不足,比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处理分类不 ...

  9. 《机器学习Python实现_10_10_集成学习_xgboost_原理介绍及回归树的简单实现》

    一.简介 xgboost在集成学习中占有重要的一席之位,通常在各大竞赛中作为杀器使用,同时它在工业落地上也很方便,目前针对大数据领域也有各种分布式实现版本,比如xgboost4j-spark,xgbo ...

  10. 【机器学习笔记之三】CART 分类与回归树

    本文结构: CART算法有两步 回归树的生成 分类树的生成 剪枝 CART - Classification and Regression Trees 分类与回归树,是二叉树,可以用于分类,也可以用于 ...

随机推荐

  1. Acrobat Pro DC 2024.005 像word一样编辑PDF

    随着数字化的推广,PDF文件凭借其强大的优势和稳定性逐渐成为各类文档交流和存储的首选格式.随之而来的是对PDF文件的阅读.编辑.转换.转曲等各种操作需求的不断增长.因此,一款强大的PDF处理软件不仅需 ...

  2. 鸿蒙开发之PixelMap介绍与实现图片变换

    本文所学技术可以用在哪 很多读者一看这个文章标题,可能根本不知道能干嘛,且不感兴趣.所以咱们先说说,今天写的这个技术有没有用. 首先,猫林老师即将给大家写的<原生AI之文字识别>就得用到这 ...

  3. 【Linux】【专项突破】CentOS下软件安装

    目录 rpm yum软件仓库 配置文件 缓存处理 清理缓存 重构缓存 查询包的依赖关系 rpm # 普通下载安装 rpm -ivh 包名 # 更新 rpm -Uvh 包全名 # 查询 rpm -q 包 ...

  4. Mac netstat 查看端口报错 netstat: option requires an argument -- p 解决

    netstat -anvp |grep 10001 查询端口的时候报错提示 意思是缺少协议. 解决方案在Mac上正确使用的方法是:即-f需要加上地址族,-p需要加上协议TCP或者UDP等 a)如果需要 ...

  5. Windows7系统启用ipv6的详细步骤(图文)

    IPV6是IETF设计的用于替代现行版本IP协议(IPv4)的下一代IP协议.一般情况下,win7系统默认是关闭IPV6服务的,之前教程也有分享过win7禁用ipv6协议的方法.那么如果要启用ipv6 ...

  6. 零基础IM开发入门(三):什么是IM系统的可靠性?

    本文编写时引用了"聊聊IM系统的即时性和可靠性"一文的部分内容和图片,感谢原作者. 1.引言 上一篇<零基础IM开发入门(二):什么是IM系统的实时性?>讲到了IM系统 ...

  7. CDS标准视图:催款级别分配 I_DunningLevelDistribution

    视图名称:催款级别分配 I_DunningLevelDistribution 视图类型:参数视图 视图代码: 点击查看代码 @AbapCatalog.sqlViewName: 'IFIDUNLVLDI ...

  8. Spring Cloud认知学习(二):Feign的使用、熔断器Hystrix

    Feign Feign用于声明式调用服务在上面的服务调用中,我们始终还是没有摆脱restTemplate,我们调用别的服务始终要使用restTemplate来发起.想想我们以前是怎么开发的(三层架构, ...

  9. TCP/IP协议笔记

    TCP/IP 一.TCP/IP简介 TCP/IP 指传输控制协议/网际协议(Transmission Control Protocol / Internet Protocol),是用于因特网 (Int ...

  10. Nodify学习 四:预先连接

    前置 预先连接 可以从连接器创建预先连接,并可以放置在ItemContainer或Connector上(如果AllowOnlyConnectors为false). 预先连接的Content可以使用Co ...