1. CART算法的认识

Classification And Regression Tree,即分类回归树算法,简称CART算法,它是决策树的一种实现,通常决策树主要有三种实现,分别是ID3算法,CART算法和C4.5算法。

CART算法是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支,

因此CART算法生成的决策树是结构简洁的二叉树。由于CART算法构成的是一个二叉树,它在每一步的决策时只能是“是”或者“否”,即使一个feature有多个取值,也是把数据分为两部分。在CART算法中主要分为两个步骤

(1)将样本递归划分进行建树过程

(2)用验证数据进行剪枝

2. CART算法的原理

上面说到了CART算法分为两个过程,其中第一个过程进行递归建立二叉树,那么它是如何进行划分的 ?

代表单个样本的个属性,表示所属类别。CART算法通过递归的方式将维的空间划分为不重叠的矩形。划分步骤大致如下

(1)选一个自变量,再选取的一个值维空间划分为两部分,一部分的所有点都满足,另一部分的所有点都满足,对非连续变量来说属性值的取值只有两个,即等于该值或不等于该值。

(2)递归处理,将上面得到的两部分按步骤(1)重新选取一个属性继续划分,直到把整个维空间都划分完。

在划分时候有一个问题,它是按照什么标准来划分的 ? 对于一个变量属性来说,它的划分点是一对连续变量属

性值的中点。假设个样本的集合一个属性有个连续的值,那么则会有个分裂点,每个分裂点为相邻

两个连续值的均值。每个属性的划分按照能减少的杂质的量来进行排序,而杂质的减少量定义为划分前的杂质减

去划分后的每个节点的杂质量划分所占比率之和。而杂质度量方法常用Gini指标,假设一个样本共有类,那么一个节点的Gini不纯度可定义为

其中表示属于类的概率,当Gini(A)=0时,所有样本属于同类,所有类在节点中以等概率出现时,Gini(A)

最大化,此时

有了上述理论基础,实际的递归划分过程是这样的:如果当前节点的所有样本都不属于同一类或者只剩下一个样

本,那么此节点为非叶子节点,所以会尝试样本的每个属性以及每个属性对应的分裂点,尝试找到杂质变量最大

的一个划分,该属性划分的子树即为最优分支。

下面举个简单的例子,如下图

在上述图中,属性有3个,分别是有房情况,婚姻状况和年收入,其中有房情况和婚姻状况是离散的取值,而年

收入是连续的取值。拖欠贷款者属于分类的结果。

假设现在来看有房情况这个属性,那么按照它划分后的Gini指数计算如下

而对于婚姻状况属性来说,它的取值有3种,按照每种属性值分裂后Gini指标计算如下

最后还有一个取值连续的属性,年收入,它的取值是连续的,那么连续的取值采用分裂点进行分裂。如下

根据这样的分裂规则CART算法就能完成建树过程。

建树完成后就进行第二步了,即根据验证数据进行剪枝。在CART树的建树过程中,可能存在Overfitting,许多分支中反映的是数据中的异常,这样的决策树对分类的准确性不高,那么需要检测并减去这些不可靠的分支。决策

树常用的剪枝有事前剪枝和事后剪枝,CART算法采用事后剪枝,具体方法为代价复杂性剪枝法

原文参考:http://blog.csdn.net/acdreamers/article/details/44664481

剪枝参考:http://www.cnblogs.com/zhangchaoyang/articles/2709922.html


分类算法之决策树CART算法相关推荐

  1. cart算法_机器学习十大算法之一——决策树CART算法

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第23篇文章,我们今天分享的内容是十大数据挖掘算法之一的CART算法. CART算法全称是Classification ...

  2. 02-23 决策树CART算法

    文章目录 决策树CART算法 决策树CART算法学习目标 决策树CART算法详解 基尼指数和熵 CART算法对连续值特征的处理 CART算法对离散值特征的处理 CART算法剪枝 生成剪枝后的决策树 选 ...

  3. ML之DT之CART:分类与回归树CART算法的简介、应用、经典案例之详细攻略

    ML之DT之CART:分类与回归树CART算法的简介.应用.经典案例之详细攻略 目录 分类与回归树CART算法简介 1.CART原理-比较ID3.C4.5 2.CART算法描述 CART算法的案经典案 ...

  4. 决策树CART算法、基尼系数的计算方法和含义

    决策树CART算法--基尼系数 决策树的CART算法使用基尼系数来选择划分属性.一个数据集的纯度可以用基尼系数来度量 Gini(D)=∑k=1∣y∣∑k′≠kpkpk′=1−∑k=1∣y∣pk2\be ...

  5. 机器学习第五篇:详解决策树-CART算法

    01|前言: 本篇接着上一篇决策树详解,CART是英文"classification and regression tree"的缩写,翻译过来是分类与回归树,与前面说到的ID3.C ...

  6. 决策树-CART算法

    总第80篇 01|前言: 本篇接着上一篇决策树详解,CART是英文"classification and regression tree"的缩写,翻译过来是分类与回归树,与前面说到 ...

  7. 决策树——CART算法+实战(sklearn)

    CART算法 CART举例 剪枝 优缺点 数据集 from sklearn import tree import numpy as np # 载入数据 data = np.genfromtxt(&qu ...

  8. python决策树id3算法_决策树ID3算法预测隐形眼睛类型--python实现

    标签: 本节讲解如何预测患者需要佩戴的隐形眼镜类型. 1.使用决策树预测隐形眼镜类型的一般流程 (1)收集数据:提供的文本文件(数据来源于UCI数据库) (2)准备数据:解析tab键分隔的数据行 (3 ...

  9. 树类算法之---决策树Cart树Gini系数就算原理。

    1.介绍 ID3树与CART树的区别: ID3算法中,选择的是信息增益来进行特征选择,信息增益大的特征优先选择. 而在C4.5中,选择的是信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的缺 ...

最新文章

  1. BZOJ4571:[SCOI2016]美味——题解
  2. vue学习笔记——路由
  3. 【教程】Linux下MySQL 8.0安装配置
  4. 有效的字母异位词---简单
  5. 实战:node-react项目部署到服务器
  6. Java并发编程基础-锁-synchronized状态变换
  7. linux配置串口驱动程序,[Linux 驱动] -- Linux 驱动之串口(UART)
  8. RTOS那些你得知道的事儿(一)
  9. 阿里云商标注册查询入口(支持图形检索/45分类注册风险)
  10. kali 控制安卓手机拍照,查看定位,获取通信录,以及其他
  11. 在Windows Server 2012中搭建WEB服务器,附ASP配置方法
  12. 免费公益云服务器主机推荐
  13. android studio 扣费白屏,详解一次Vue低版本安卓白屏问题的解决过程
  14. 第一博客,行走在编程道路上的菜鸟
  15. [ML](回归和分类)
  16. flannel vxlan切换成host-gw
  17. linux mounted,linux umount命令详解
  18. cmd imp导入dmp文件_导入Oracle的dmp备份的dmp文件报错“IMP-00002:无法打开c:/Documents.DMP进行读取”...
  19. 无人机寻迹要两个单片机吗_单片机寻迹小车程序
  20. 深信服下一代防火墙组网介绍及配置

热门文章

  1. Python类的结构及属性的获取机制
  2. matlab中的图像类型
  3. android ui布局适配,Android适配全面总结(一)----屏幕适配
  4. 部署docker-consul群集,Harbor构建Docker私有仓库
  5. 集群(二)——LVS-DR-Keepalived
  6. matlab读int16读文件_MATLAB——文件读写(1)
  7. python分类器knn、svm_[转载]MatLab分类器大全(svm,knn,随机森林等)
  8. .net core word转pdf_免费在线转换PDF转Word、Word转PDF,办公必备神器
  9. linux写聊天程序,轻易实现基于linux或win运行的聊天服务端程序
  10. bootstrap 图片轮询_消息通知功能之前端Ajax定时轮询_后端接口获取数据一