使用R进行kmeans预测

时间:2013-07-22 06:10:03

标签: r k-means

km <- kmeans(iris,3)

predict.kmeans <- 
 function(km, data)
 {k <- nrow(km$centers)
 n <- nrow(data)
 d <- as.matrix(dist(rbind(km$centers, data)))[-(1:k),1:k]
 out <- apply(d, 1, which.min)
 return(out)}

predict.kmeans(km,iris[1,])
# Error:apply(d, 1, which.min) : dim(X) must have a positive length

我的简单代码存在问题,它有什么问题?

1 个答案:

答案 0 :(得分:1)

  1. kmeans仅适用于数值矩阵。正如@thelatemail指出的那样,iris的第5列不是数字。
  2. 您可以使用cl_predict代替clue
  3. predict.kmeans