CART对连续型属性处理方式和C4.5一样,只不过使用GINI值作为属性划分的依据,而C4.5是采用增益率作为依据。
对于离散型属性,C4.5是理论上有多少个离散值就分裂成多少个节点。但CART算法生成的是一颗二叉树,每一次分裂只会产生两个节点。
以打篮球案例中的“天气”属性为例,C4.5算法分裂成了小雨、晴天、阴天三个节点。如果是CART算法的话,会把属性值分为不同的组,{小雨}、{晴天、阴天},{晴天}、{小雨、阴天},{阴天}{晴天、小雨},分别计算三组的基尼指数,然后选取基尼指数最小的值作为节点。
通过计算,我们发现{小雨}、{晴天、阴天}的划分方法,基尼指数最小,所以如果我们以天气属性作为划分,那么就选择{小雨}、{晴天、阴天}的分类
基尼指数的计算方法,由于没有使用对数,所以运算会比对数运算要快。
- 基尼值公式:
数据集D的纯度可以用基尼值来度量,Gini(D)越小,数据集D的纯度越高
- 基尼指数公式:
数据集D,选择属性a划分后的基尼指数
比如数据集D,属性a的值把D分为D1、D2两个部分,那么在属性a的条件下,D的基尼指数表达式为: