2012-02-12 81 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