tree | 分类回归树模型
专注系列化、高质量的R语言教程
推文索引 | 联系小编 | 付费合集
分类回归树(Classification and Regression Trees,CART)模型分为分类树模型和回归树模型:当因变量为分类变量(因子变量)时,使用的是分类树模型;当因变量是连续变量(数值变量)时,使用的是回归树模型。
分类回归树模型不同于线性模型和Logistics模型,它没有具体的模型方程,而是根据自变量多次二分将样本划分成若干子集[1]。
本文理论部分主要参考如下链接的内容:
https://www.nature.com/articles/nmeth.4370
本文目录如下:
1 分类树
1.1 理论基础
1.2 R中的函数
2 回归树
2.1 理论基础
2.2 R中的函数
3 模型预测
1 分类树
1.1 理论基础
以表示因变量,在分类树模型中,它是一个分类变量,对应到R语言中的数据类型为因子(factor)。
以任意一个自变量的任意一个值为分割点,可以将样本划分成和两个子集。存在一种划分结果,可以使
最大化。
式中,表示样本全集,和表示划分后的两个子集;表示总样本数,和分别表示两个子集的样本数;是关于样本集合的函数。
函数有多种定义方式,常用的有:
基尼指数(Gini index):
熵指数(entropy index):
分类误差(misclassification error):
式中,表示的某个分类在集合中所占的样本比例。
例如,共有三个分类水平1、2、3,其对应的样本数分别为20、30、50,则分别等于0.2、0.3、0.5,三种指数计算如下:
p = c(0.2, 0.3, 0.5)
(Ig = sum(p*(1-p)))
## [1] 0.62
(Ie = -sum(p*log2(p)))
## [1] 1.485475
(Ic = 1 - max(p))
## [1] 0.5
以基尼指数为例,当所有样本都集中于同一个分类时,指数最小且为0;当样本平均分布在各个类别时,,其中为分类个数,此时。因此可以说,基尼指数越小,表明样本分布越集中,彼此越相似,集合特征也就越明显;基尼指数越大,表明样本分布越分散,彼此差别也越大,集合特征也越不明显。
从的定义式可以看出,由于本身是确定的,因此最大化,实际就是寻找一种划分方法使得最小化,也就是希望子集内的样本尽可能地相似,这也是分类的初衷所在。
在第一轮划分之后得到两个子集,再分别对两个子集进行类似的划分,以此类推,直至达到设定的终止条件,最终将全集样本划分成具有特征的若干子集,形成分类树。