第二次划分之后右上角的蓝色区域已经全部是绿点了,为什么gini(y2_l)和gini(y2_r)都不为零?

来源:12-4 基尼系数

伊利札洛夫

2019-01-10

第一次划分之后左边区域全部是红点,所以gini(y1_l)=0. 这样理解有问题吗?

写回答

1回答

liuyubobobo

2019-01-10

第一次划分后左侧的那堆点之所以基尼系数为0,因为全部划分在了左侧。所以是1 - 1^2 = 0。你的理解没有问题。


关于第二次划分,之所以gini(y2_l)和gini(y2_r)都不为零,是因为这个数据不够好。有两个相邻很近的数据,可视化的时候出现了偏差。其实上下两部分都有两个类的数据分布的。由于我们先绘制右下部分,再绘制右上部分,使得有一个点盖过了另一个点,看起来好像右上角全部是一个类别。但其实我们稍微修改一下绘制顺序,就会看到,右上角其实有一个另一个类别的点。代码如下:
//img.mukewang.com/szimg/5c37df340001062414780722.jpg


我之前的回答有误。gini系数是按照一个节点(表现在图示中,就是一个分区)其中不同类别的数量进行计算的。抱歉!:)


继续加油!:)


但是第二次划分以后,右上部分虽然全部是绿色,但是绿色的点同时也分布在了右下部分。假设右上和右下绿色点占比是90%和10%(只是举例子),那么计算方法是 1 - 0.9^2 - 0.1^2 :)

0
5
liuyubobobo
回复
Fastpengmi
这个问题的意思是,计算出来的结果不为0,道理上第二次划分之后右上角的蓝色区域不应该全部是一个颜色的点了。但现在结果看起来全都是一个颜色。我的回答的意思是,其实不完全是一个颜色,淡看不出来,是因为可视化的过程,颜色出现了遮挡:)
2019-12-05
共5条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5839 学习 · 2437 问题

查看课程