2012-02-12 80 views

回答

11

我不知道一个现成的,现成的功能,但在这里是一种方式,你可以利用公式在您的链接做自己:

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

在这里我们可以对一些随机的任务,在那里我相信我们预计纯度为1 /数的类测试:

> n = 1e6 
> classes = sample(3, n, replace=T) 
> clusters = sample(5, n, replace=T) 
> ClusterPurity(clusters, classes) 
[1] 0.334349 
+1

这是短期和容易!我很少使用R,并且正在开始编写一个长功能来做到这一点。非常感谢您节省我的时间,并在R中教会我多一件事。 – chet 2012-02-16 15:49:14

+0

@chet很棒我很高兴它有帮助。祝你好运! – 2012-02-16 16:08:45