Gini 系数

Gini 系数:


某个节点的Gini不纯度计算:
比如,某节点A样本分属两类,C1:2, C2:4,则Gini(A) = 1 - (2/6)^2 - (4/6) ^2 = 0.444,节点B,C1:6, C2:0, 则 Gini(B) = 1 - (6/6)^2 - (0/6)^2 = 0。显然,前者的不纯度更高,所以某节点的Gini系数越大则其不纯度越高。


而当评判分裂优劣时,需要用到两个子节点的Gini系数来计算。
比如某根节点有12个样本(6:6),按照某特征的某阈值分裂成两个子节点A(2:4)和B(0:6),则此次的split的Gini系数为:6/12*0.444 + 6/12*0 = 0.222. 那这个分类效果如何呢?比如按照另外一个特征的某阈值来分类的话,可以分成C(6:6)和D(0:0),则此次的split的Gini系数为:12/12*0.5 + 0/12*0 = 0.5. 而显然前者的分类效果好,可见,Gini_split值越小越好。

 

对于熵来说,越小说明越纯,而Gini同样,而这都是针对某个节点,如果某节点越纯则我们越能确定它属于哪一类,则越是理想结果。所以,对于信息增益来说,如果父节点的熵已定,则希望子节点的熵尽量小,这样:1.信息增益得到最大,2.分出来的子节点的类标越明确(越纯)。而对于Gini系数来说,同样是尽量让分出来的子节点拥有尽量低的不纯度(越纯则类标越明确)。——子节点的样本分布越不均匀,Gini系数和熵越小,分类效果越好。

【所以在特征选择的时候常常用信息增益,如果IG(信息增益大)的话那么这个特征对于分类来说很关键~~ 决策树就是这样来找特征的!】

猜你喜欢

转载自blog.csdn.net/genghaihua/article/details/81330917