查看原文
其他

【强基固本】聚类性能评估-V-Measure

“强基固本,行稳致远”,科学研究离不开理论基础,人工智能学科更是需要数学、物理、神经科学等基础学科提供有力支撑,为了紧扣时代脉搏,我们推出“强基固本”专栏,讲解AI领域的基础知识,为你的科研学习提供助力,夯实理论基础,提升原始创新能力,敬请关注。

来源:知乎—baiziyu

地址:https://zhuanlan.zhihu.com/p/145989213

先说,V-Measure完全基于两个类别的之间的条件熵,也就是求已知某一个类别划分后,另外一个类别划分的不确定性程度,不确定性越小,说明两个类别划分越接近,因此相应的h值或c值就越大。
同质性(homogeneity)度量,h值:
完整性(completeness)度量,c值:

各量的意义类似于h值。
分母
V-Measure值是h值和c值的调和平均值(harmonic mean):
显然,V-Measure的取值范围为0到1。
是不是有点意犹未尽,以同质性为例,带到通信模型看看。
X是信源,我们把它看作对数据的类别划分,也就是原始的类别分布,Y是信宿,我们把它看作对数据的簇划,也就是聚类后的簇分布,信道就是聚类的过程,如果存在干扰源的话,那么就相当于聚类过程存在错误,如果没有干扰源的话,就相当于我们的聚类效果是完美的。同质性也就是条件熵度量的是,我们知道收端各消息符号(簇标号)的概率分布的条件下,关于发端的不确定度,如果不确定为0了,就表示信道上没有一点儿损失,也就是聚类算法非常优秀,此时,同质性指标就变为1;反之,如果发端不确定度依然很大,就表示信道干扰非常打,也就是聚类算法相当不理想,此时,同质性指标就变为0。
算一算吧
例:设实际类别划分为labels_true = [0, 0, 0, 1, 1, 1],聚类划分为labels_pred = [0, 0, 1, 1, 2, 2],求ARI值。
画划分图:
画列联表:
计算
用sklearn验证一下吧
In [16]: from sklearn import metrics
In [17]: labels_true = [0, 0, 0, 1, 1, 1]
In [18]: labels_pred = [0, 0, 1, 1, 2, 2]
In [19]: metrics.homogeneity_score(labels_true, labels_pred)Out[19]: 0.66666666666666685
In [20]: metrics.completeness_score(labels_true, labels_pred)Out[20]: 0.420619835714305
In [21]: metrics.v_measure_score(labels_true, labels_pred)Out[21]: 0.51580374297938891

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“强基固本”历史文章


更多强基固本专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存