采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好,我在这儿看到Gini系数的公式是如下的但是在下一节的代码实现中最后这个return的部分,为什么需要乘上*len(d[k])/float(len(s1))?从公式来看并没有需要用到这个概率呀 谢谢!
同学你好,公式里count x|y / count y指y条件下x的数量,除上y的数量。getprobss得到的是条件概率,乘上数量len(d[k])就是count x|y,除以s1的数量(就是count y),得解。
老师,如果根据len(d[k])就是count x|y,s1的数量就是count y,那根据公式不应该就是将这个两个数的商平方就行了吗,为什么还要计算条件概率?
同学抱歉,刚才的解答我没看清probss里的内容,解答有误。上面的公式是针对单属性的gini系数,若属性中需要有划分,就要考虑划分后总体的gini系数。举个例子,有五个人,3个双眼皮,2个单眼皮。关于单双眼皮,你可以直接计算一个gini系数。但如果,又知道这五个人里,4个女生2个双眼皮,1个男生单眼皮,那么,划分男生后,可以对单双眼皮算一个gini系数,划分女生后,也可以对单双眼皮计算一个gini系数,而计算总体gini时,就需要对男生的gini乘上1/5,女生的乘上4/5。不纯度可以这么算,其实纯度也可以这么算。这就是上面的含义了。同学学习很认真,为你点赞。
明白了!谢谢老师♪(・ω・)ノ
登录后可查看更多问答,登录/注册
快速胜任数据分析岗位,逆袭成为数据掘金时代的抢手人才!
1.2k 18
985 13
890 10
823 10
1.0k 9