采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
第一次划分之后左边区域全部是红点,所以gini(y1_l)=0. 这样理解有问题吗?
第一次划分后左侧的那堆点之所以基尼系数为0,因为全部划分在了左侧。所以是1 - 1^2 = 0。你的理解没有问题。
关于第二次划分,之所以gini(y2_l)和gini(y2_r)都不为零,是因为这个数据不够好。有两个相邻很近的数据,可视化的时候出现了偏差。其实上下两部分都有两个类的数据分布的。由于我们先绘制右下部分,再绘制右上部分,使得有一个点盖过了另一个点,看起来好像右上角全部是一个类别。但其实我们稍微修改一下绘制顺序,就会看到,右上角其实有一个另一个类别的点。代码如下:
我之前的回答有误。gini系数是按照一个节点(表现在图示中,就是一个分区)其中不同类别的数量进行计算的。抱歉!:)
继续加油!:)
但是第二次划分以后,右上部分虽然全部是绿色,但是绿色的点同时也分布在了右下部分。假设右上和右下绿色点占比是90%和10%(只是举例子),那么计算方法是 1 - 0.9^2 - 0.1^2 :)
bobo老师 我还是没明白. 这里pi的主体是分区还是颜色呢? 如果是分区,右上分区只有一种颜色; 如果是颜色,红色都在右下区域里。 为什么会出现 gini(y2_l)和gini(y2_r)都不是0呢?
抱歉,我之前的回答有误。这个数据不很好,导致产生了“错觉”,我修改了原答案:)继续加油!:)
非常感谢bobo老师! 这样确实就清晰了,道理不难,之前确实被数据误导了
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.4k 19
3.4k 17
2.9k 15
1.6k 15
1.4k 14