我有5000个观察结果被分为10组。每个星团有1000个真实观测值。真实生活中的观测值是1000个。但是,在我运行了我的聚类算法之后,它看起来像这样:
Cluster #, true members, clustered members
0, 1000, 435
1, 1000, 234
2, 1000, 167
3, 1000, 654
4, 1000, 0
换句话说,集群0应该有1000个成员,但是其中只有435个被我的算法正确地添加到该集群中。5000和群中的差被放在错误的簇中。在
我想计算基尼系数,发现了以下代码:
^{pr2}$在我试过的测试中似乎效果不错。然而,我发现的数据集都不像我的。在
所以我的问题是如何计算基尼系数?在
如果我执行以下操作,我会得到每个簇的基尼系数:
gini_ind(435,1000) -> 0.49155
gini_ind(234,1000) -> 0.3584
gini_ind(167,1000) -> 0.2782
gini_ind(654,1000) -> 0.4525
gini_ind(0,1000) -> 0
这是每个星系团的正确基尼系数吗?在
得到平均基尼系数,这就是平均值: (0.49155+0.3584+0.2782+0.4525+0)/5?在
假设我们有3个类和80个对象。19个对象属于类别1,21个对象属于类别2,40个对象属于类别3(表示为(19,21,40))。在
基尼指数为:1-[(19/80)^2+(21/80)^2+(40/80)^2]=0.6247,即costbefore=基尼(19,21,40)=0.6247
为了决定在哪里拆分,我们测试所有可能的拆分。例如,在2.0623处拆分,这将导致拆分(16,9,0)和(3,12,40):
测试x1<;2.0623后:
然后,我们根据经验分支概率对分支杂质进行加权:
^{pr2}$对于每个可能的拆分,我们都会这样做,例如x1<;1:
之后,我们选择了成本最低的拆分方案。这是分割x1<;2.0623,成本为0.4331。在
你可以点击下面的链接。。。。 http://dni-institute.in/blogs/gini-index-work-out-example/http://stats.stackexchange.com/questions/95839/gini-decrease-and-gini-impurity-of-children-nodes
相关问题 更多 >
编程相关推荐