在R中的Kmeans Clustering中测试未知数据

时间:2016-09-16 16:57:15

标签: r

例如,我有一个X = {1,1.5,5,3,4,3}和Y = {1,1.5,5,4,4,3.5}的数据集。我做的是 -

data <− read . csv (”exp . csv”) 
print ( data )
results <− kmeans(data , 2)
results
results $ size 
results $ cluster
plot (temp [ c(”X” , ”Y”) ] , col=results $ cluster )

现在我想检查假设(1,1)在哪个群集中?我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

案例1:当您知道该点位于您聚类的数据集中时,例如,(1,1)

point1 <- c(1,1)
results$cluster[which(data$X==point1[1] & data$Y==point1[2])]
#[1] 1

案例2(一般):当您聚集的数据集中的点可能/可能不存在时

point2 <- c(3,4)
dimnames(results$centers) <- NULL
which.min(apply(results$centers, 1, function(x) sum((x - point2)^2)))
#[1] 2

它也适用于数据集中的一个点:

which.min(apply(results$centers, 1, function(x) sum((x - point1)^2)))
#[1] 1