携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第1天,点击查看活动详情
我们知道,如果待预测分类(目标数据Y)是离散型数据,则CART生成分类决策树;如果待预测分类(目标数据Y)是连续型数据,则CART生成回归决策树。而特征数据(条件数据X)的连续性和离散型则不对树的类型产生任何影响。
分割属性选择的指标是Gain_σ,选择Gain_σ小的属性以及属性值,作为最优分割属性以及最优分割属性值。Gain_σ值越小,说明二分分割后子数据中的类别就越少,越单一,选择该属性(值)作为分割属性(值)的效果越好。
假设D是带有连续分类结果的样本集,Y是连续类别标签,X是特征数据集,则样本集D的标准差为:
其中,μ表示样本集D中分类结果的均值,yi表示第i个数据分类结果。
假设C为数据集中的某一个属性,ck为该属性的第k个属性值。该属性值把数据集D分割成两部分D1和D2,该分割的方差增益定义如下:
对于属性C,分别计算该属性任意属性值将数据集划分成两部分之后的Gain_σ,选取其中的最小值和其对应的属性值,作为属性A的最佳二分方案:
计算其他所有属性的最小方差增益和其对应的属性值,然后比较所有最小方差增益,找出最小值,从而确定其对应的属性和属性值,该属性和该属性值即为数据D的最佳分割属性和分割属性值。
Cart算法的实现由于与ID3和C4.5的高度相似性,这里就不在对其进行Python实现。可直接从scikit-learn库调用Cart函数。