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