我有两个实现,一个是K-Means,另一个是EM做软聚类。但我不知道如何在准确性方面验证它们。即通过检索更好的集群,哪一个表现更好。 我的假设是因为EM正在进行软分配而不是硬分配,因为它发生在K-Means中。 EM表现更好,但我不知道如何进行这种比较...
如何对EM软聚类与K-Means的准确性进行基准测试? 还有合成数据的任何建议?
答案 0 :(得分:2)
评估模糊聚类本身很难。我相信我已经看到了其中一个常见索引的某些变化。
但首先要尝试回答这个问题:
聚类算法应该是一个解释工具,那么你真的可以判断合成的,标记数据的性能吗?或者,您可以通过前往"字段"来衡量质量。并尝试从数据中学习新东西?
这不是数学问题。
由于其模糊分配,EM应该不太可能陷入局部最小值而不是k均值。至少在理论上。与此同时,它永远不会收敛。由于有限论证,Lloyds k-means必须收敛(与欧几里德平方,而不是其他距离);相同的论点不再适用于模糊算法。也许尝试构建一个场景,其中k-means不会产生最优解,然后检查EM是否会产生更好的结果。
答案 1 :(得分:2)
您可以使用轮廓分数来衡量群集算法的有效性。 http://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html
从文档中:使用每个样本的平均簇内距离(a)和平均最近簇距离(b)计算剪影系数。样本的Silhouette系数是(b-a)/ max(a,b)。为了澄清,b是样本与样本不属于的最近的聚类之间的距离。
简单来说,Silhouette系数衡量与其他潜在中心相比,其给定中心的接近点数。您可以使用这些分数来确定哪个聚类算法导致点彼此更接近,或者哪些参数导致更高的轮廓系数(例如,聚类的数量)。下面还给出了K-Means算法的例子。