我在R中使用fpc包来执行集群验证。

我可以使用cluster.stats()函数将集群与外部分区进行比较,并计算多个指标,例如兰德指数,熵e.t.c。

但是,我正在寻找一种在http://nlp.stanford.edu/IR-book/html/htmledition/evaluation-of-clustering-1.html中定义的指标,称为“纯度”或“集群准确性”

我想知道R中是否有此措施的实现。

谢谢,
切特

最佳答案

我不知道现成的功能,但这是您可以使用链接中的方程式自己完成的一种方法:

ClusterPurity <- function(clusters, classes) {
  sum(apply(table(classes, clusters), 2, max)) / length(clusters)
}

在这里,我们可以在一些随机分配上对其进行测试,我相信我们希望其纯度为1/class-of-classes:
> n = 1e6
> classes = sample(3, n, replace=T)
> clusters = sample(5, n, replace=T)
> ClusterPurity(clusters, classes)
[1] 0.334349

关于R聚类 'purity'指标,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9253843/

10-12 16:48