CART

来源:互联网 发布:vue.js深入浅出pdf 编辑:程序博客网 时间:2024/05/16 01:27

    • 简介
    • 回归树
    • 分类树
    • 建树

简介

分类与回归树( Classification And Regression Tree,CART)模型由Breiman等人1984年提出,是应用广泛的决策树学习方法。可以用于分类也可以用于回归。

CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部结点特征的取值为是和否。这样的决策树等价于递归地二分每个特征,将输入空间划分成有限个单元,并在这些单元上确定预测的概率分布,也就是在给定的条件下输出条件概率分布。

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

回归树

假设X和Y分别是输入变量和输出变量,并且Y是连续变量,给定训练集

{(x1,y1),(x2,y2),...,(xn,yn)}

数据集大小:n

特征大小:m

一个回归树对应着输入空间(特征空间)的一个划分以及在划分单元上的输出值。

假设已经将输入空间划分成M个单元:R1,R2,...,RM,并且每个单元Rm上有一个固定的输出值cm,于是回归树模型可以表示为:

f(x)=m=1McmI(xϵRm)

当用平方误差xiϵRm(yif(xi))2来表示回归树对训练数据的预测误差时候,选取平方误差最小时候的特征用来作为构建二叉树的分裂特征。

这里采用启发式的方法,选择第j个特征 x(j)已经它的取值s,其作为分裂变量,将数据集分成两个区域:

R1(j,s)={x|x(j)s}

R2(j,s)={x|x(j)>s}

对于两个区域的输出值,用该区域中y的平均值来代替:
c1=ave{yi|xiϵR1(j,s)}
c2=ave{yi|xiϵR2(j,s)}
选取最小平方误差时候的 j,s,对应下面的目标函数:

minj,sminc1xiϵR1(j,s)(yic1)2+minc2xiϵR2(j,s)(yic2)2

说明:
计算的最后结果:最小平方误差时候的第j个特征的划分值是s
对大括号内的计算是对第j个特征,找出其最小平方误差的划分,两个最小值,返回的就是左右子树划分的平方误差。
j的取值是特征的个数
i的取值就是所有的数据

分类树

分类树选取基尼系数作为评价标准
基尼系数定义:
Gini(D)=1k=Kk=1P(ci)2
其中:p(ci)表示数据集Dci类所占的概率
当各类数据量越接近的时候,基尼系数越大。
在利用基尼系数选取特征的时候,特征值把数据划分成两个部分:R1,R2,这两部分数据的基尼系数是Gini(R1),Gini(R2)
用该特征划分数据的基尼系数:
Gini=Gini(D){P(R1)Gini(R1))+P(R2)Gini(R2))}
其中:P(R1)表示R1数据在整个数据中占的概率
最后通过选取最大Gini的特征以及其取值对数据进行划分

建树

输入:数据集,停止计算条件
输出:CART树
从根结点开始递归地对每个结点进行一下操作:
(1):判断是否到达停止迭代条件
1.1:数据量过少
1.2:yi的值在一个很小的范围内
(2):寻找最优分割特征以及其取值
遍历所有特征,遍历所有特征的取值,计算平方误差最小时候的结果,计算公式见上
(3):根据(2)最有特征以及其取值将数据集分成两部分,调用(1)(2)
(4):结束

参考:《统计学习方法》

0 0