绝大部分情况下熵(entropy)和基尼指数(Gini Index)在决策树节点分裂时做出的决策都是等价的。
先看一下如何定义节点分裂时的不纯度函数(impurity)有三种(假设有k个类别):
不难看出,三个函数均为凸函数。只不过误分率(函数1)是分段线性函数(piece-wise linear),有时候节点分裂会无法降低不纯度。所以函数2和3一般是常采用的手段,它们的优势如下:
正因为它们都是光滑凸函数且为训练误分函数的错误上界,所以不仅保证了每次节点分裂整体的不纯度函数会下降且更适合运算。在绝大部分情况下,二者都是等价的,只有2%的情况下可能会有不同的分裂决策。如果非要说不同的话,就是熵的计算会需要求log,所以可能预算开销更大。但是求log是防止计算溢出的利器,特别适合用于处理极小概率的情况,所以并非只有缺点。
答:cart树本身实现的时候就是二分的二叉树,cart算法先对数据进行二分,然后再计算基尼系数这个指标,最后根据基尼系数这个指标去寻找最优切分点。所以cart树的二分与基尼系数、信息增益率无关。