CART 是 classification and regression tree 的缩写,即分类与回归树。

博主之前学习的时候有用过决策树来做预测的小例子:机器学习之决策树预测——泰坦尼克号乘客数据实例,不过在那篇博客中并没有详细阐述算法的原理,本篇博客以学习 CART 里面的思想为主。

1 基于 CART 的回归

1.1 定义概述

CART 假设决策树是二叉树,因此回归树的生成式递归构建二叉树决策的过程。其核心思想是通过对特征空间分层预测,每个空间的观测值的均值即为该空间内所有观测值的预测值。一般采用“自上而下”的贪婪方法:递归二叉分裂(recursive binary splitting)。最优分裂仅仅限于某一步进程,而不是针对全局去选择能够在未来进程中构建出更好的树的分类点。

1.2 建立回归树

(1)将预测变量空间分割成若干互不重叠的区域,划分遵循的原则是使得两个两份的区域的残差平方和最小。


(j.s)={x∣x(j)≤s},                                     

(3)重复步骤(1)和(2),直到满足条件,比方当所有区域的观测值的个数都不大于5时,分裂停止。

(4)对划分的空间进行预测(用这一空间的训练集平均响应值对其预测)。

1.3 树的剪枝

树的分裂点过多,可能会导致过拟合。为了避免过拟合的方法,我们可以人为设定 RSS 的阈值,但是这样可能会使得一些初看起来不值得分裂的点在之后会有很好的分裂,也就是在下一步中 RSS 会大幅度减小。

因此,更好的策略是生成一棵大树,通过剪枝(prune)得到子树(subtree)。

采用代价复杂性剪枝(cost complexity pruning),也叫做最弱联系剪枝(weakest link pruning)。取 a 满足下式:

绝对值 T 表示树 T 的终端节点数, 这种减小过拟合的方式类似于 Lasso

2 基于 CART 的分类

2.1 定义概述

分类树和回归树非常相似,区别在于分类树可以用于预测定性白那辆而非定量变量。对于分类树,其给定观测值被预测为它所属区域内训练集中最常出现的类。可以选用分类错误率代替 RSS 作为分类指标,但是这个指标对于分类错误率不敏感,因此实践中采用基尼系数或者互熵

2.2 分类指标

基尼系数(Gini index)定义如下:

其中,k 是类别数目,代表第 m 个区域的训练集中的第 k 类所占的比例。G 的值接近 0 或 1。因此基尼系数被视为衡量节点的纯度指标。

互熵(cross-entropy)定义如下:

基尼系数和互熵在数值上是非常接近的。

3 优缺点概述

与传统方法比较,决策树有以下的优缺点:

(1)解释性有时候好于线性回归,小规模树方便解释

(2)接近人的决策

(3)直接处理定性预测变量,而不需要创建哑变量

(4)一般预测准确性无法达到其他回归和分类的水平

参考资料:《统计学习导论——基于R的应用》

基于CART的回归和分类任务的更多相关文章

  1. 【R语言学习笔记】 Day1 CART 逻辑回归、分类树以及随机森林的应用及对比

    1. 目的:根据人口普查数据来预测收入(预测每个个体年收入是否超过$50,000) 2. 数据来源:1994年美国人口普查数据,数据中共含31978个观测值,每个观测值代表一个个体 3. 变量介绍: ...

  2. matlab 基于 libsvm工具箱的svm分类遇到的问题与解决

    最近在做基于无线感知的身份识别这个工作,在后期数据处理阶段,需要使用二分类的方法进行训练模型.本身使用matlab做,所以看了一下网上很多都是使用libsvm这个工具箱,就去下载了,既然用到了想着就把 ...

  3. 学界 | 华为诺亚方舟实验室提出新型元学习法 Meta-SGD ,在回归与分类任务中表现超群

    学界 | 华为诺亚方舟实验室提出新型元学习法 Meta-SGD ,在回归与分类任务中表现超群 机器之心发表于机器之心订阅 499 广告关闭 11.11 智慧上云 云服务器企业新用户优先购,享双11同等 ...

  4. Factorization Machines 学习笔记(三)回归和分类

      近期学习了一种叫做 Factorization Machines(简称 FM)的算法,它可对随意的实值向量进行预測.其主要长处包含: 1) 可用于高度稀疏数据场景:2) 具有线性的计算复杂度.本文 ...

  5. Sklearn中的回归和分类算法

    一.sklearn中自带的回归算法 1. 算法 来自:https://my.oschina.net/kilosnow/blog/1619605 另外,skilearn中自带保存模型的方法,可以把训练完 ...

  6. matlab-逻辑回归二分类(Logistic Regression)

    逻辑回归二分类 今天尝试写了一下逻辑回归分类,把代码分享给大家,至于原理的的话请戳这里 https://blog.csdn.net/laobai1015/article/details/7811321 ...

  7. 《转》Logistic回归 多分类问题的推广算法--Softmax回归

    转自http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是log ...

  8. 基于Spark Mllib的文本分类

    基于Spark Mllib的文本分类 文本分类是一个典型的机器学习问题,其主要目标是通过对已有语料库文本数据训练得到分类模型,进而对新文本进行类别标签的预测.这在很多领域都有现实的应用场景,如新闻网站 ...

  9. 02-15 Logistic回归(鸢尾花分类)

    目录 Logistic回归(鸢尾花分类) 一.导入模块 二.获取数据 三.构建决策边界 四.训练模型 4.1 C参数与权重系数的关系 五.可视化 更新.更全的<机器学习>的更新网站,更有p ...

随机推荐

  1. CRM WEB UI 01 BOL向导创建的搜索

    创建BOL的步骤就不说了,自己找,学习这个之前,需要自己先找个SAP CRM资料预习一下 T-CODE:BSP_WD_CMPWB 1.创建组件:输入组件名:ZLYTEST03,点击创建按钮,回车,选择 ...

  2. rpc框架实现(持续更新)

    网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,rpc基于长连接的远程过程调用应用而生. 一:A服务调用B服务,整个调用过程,主要经历如下几个步骤:(摘自 ...

  3. 接口测试--postman简介

    一.什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑 ...

  4. PReLU

    PReLU全名Parametric Rectified Linear Unit. PReLU-nets在ImageNet 2012分类数据集top-5上取得了4.94%的错误率,首次超越了人工分类的错 ...

  5. zabbix3.4.7主动模式监控日志(多关键字)

    日志监控原理 1.Zabbix Server和Zabbix Agent会追踪日志文件的大小和最后修改时间,并且分别记录在字节计数器和最新的时间计数器中. 2.Agent会从上次读取日志的地方开始读取日 ...

  6. Uboot中汇编指令

    LDR(load register)指令将内存内容加载入通用寄存器 ARM是RISC结构,数据从内存到CPU之间的移动只能通过L/S指令来完成,也就是ldr/str指令.比如想把数据从内存中某处读取到 ...

  7. sql2008r2安装失败的解决办法

    setup fails with: '.', hexadecimal value 0x00, is an invalid character.SQL 2012 Setup issues - hexad ...

  8. java的小程序在html中的运行测试

    java的小程序在html中的运行测试,打开vs2012,以网站模式打开,生成,调用iis临时服务器运行.

  9. python全栈开发笔记-----------概要

    Python开发 开发: 开发语言: 高级语言:python.Java.php  .C#   .Go .ruby . C++ .... ===>字节码 低级语言:C.汇编            ...

  10. javascript es6系列教程 - 不定参数与展开运算符(...)

    三个点(...)在es6中,有两个含义: 用在形参中, 表示传递给他的参数集合, 类似于arguments, 叫不定参数. 语法格式:  在形参面前加三个点( ... ) 用在数组前面,可以把数组的值 ...