当前位置:首页 >> 脚本专栏

python决策树之CART分类回归树详解

决策树之CART(分类回归树)详解,具体内容如下

1、CART分类回归树简介

"" alt="表1" src="/UploadFiles/2021-04-08/2017122014231142.png">

2、CART分类回归树分裂属性的选择

"text-align: center">python决策树之CART分类回归树详解

其中,在样本集S中,Pk表示分类结果中第k个类别出现的频率。

"text-align: center">python决策树之CART分类回归树详解

其中,n1n2分别为样本子集S1S2的样本个数。

"text-align: center">python决策树之CART分类回归树详解

对于样本集S,计算所有属性的最优二分方案,选取其中的最小值,作为样本集S的最优二分方案:

python决策树之CART分类回归树详解

所得到的属性A及其第i属性值,即为样本集S的最优分裂属性以及最优分裂属性值。

"text-align: center">python决策树之CART分类回归树详解

其中,μ表示样本集S中分类结果的均值,Ck表示第k个分类结果。

"text-align: center">python决策树之CART分类回归树详解

"text-align: center">python决策树之CART分类回归树详解

"text-align: center">python决策树之CART分类回归树详解

所得到的属性A及其第i属性值,即为样本集S的最优分裂属性以及最优分裂属性值。

3、CART分类回归树的剪枝

"_blank" href="https://www.jb51.net/article/131080.htm">决策树之C4.5算法详解”中有详细介绍,感兴趣的小童鞋可以了解学习。这里我们详细介绍CART分类回归树中应用最广泛的剪枝算法——代价复杂性剪枝法CCP(Cost Complexity Pruning)。

"text-align: center">python决策树之CART分类回归树详解

其中,R(t)表示节点t的子树被裁剪后节点t的误差,R(t)=r(t)"text-align: center">

python决策树之CART分类回归树详解

"text-align: center">表2
python决策树之CART分类回归树详解

  从表2可以看出,在原始树T0行,4个非叶节点中t4α值最小,因此,裁剪T0t4节点的分枝得到T1;在T1行,虽然t2t3α值相同,但裁剪t2的分枝可以得到更小的决策树,因此,T2是裁剪T1中的t2分枝得到的。

  CCP剪枝法步骤(2)

  如何根据第1步产生的子树序列{T0,T1,...,Tn},选择出1棵最佳决策树是CCP剪枝法步骤(2)的关键。通常采用的方法有两种,一种是V番交叉验证(V-fold cross-validation),另一种是基于独立剪枝数据集。此处不在过分赘述,感兴趣的小童鞋,可以阅读参考文献[1][2][3]等。

参考文献

[1] 魏红宁. 决策树剪枝方法的比较[J]. 西南交通大学学报, 2005, 40(1):44-48.
[2] 张宇. 决策树分类及剪枝算法研究[D]. 哈尔滨理工大学, 2009.
[3] Breiman L, Friedman J H, Olshen R, et al. Classification and Regression Trees[J]. Biometrics, 1984, 40(3):358.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。