r - 使用 R 进行 kmeans 预测

标签 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. kmeans 仅适用于数值矩阵。正如 @thelatemail 指出的,iris 的第 5 列不是数字。
  2. 您可以使用 clue 中的 cl_predict 而不是 predict.kmeans

关于r - 使用 R 进行 kmeans 预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17780978/

相关文章:

algorithm - K-means 能否用于帮助基于像素值的图像分离?

c++ - 如何使用 KMEANS_USE_INITIAL_LABELS 在 opencv kmeans 中设置初始标签

r - 具有加权变量的 K 均值

r - Stargazer 置信区间不正确?

r - dbplyr:从数据库中的表中删除行

R:在同一列中查找匹配值的索引

c++ - 如何创建n维测试数据进行聚类分析?

R绘制带有热图的kmeans聚类

r - 3组列表中最佳和组合的算法

r - 计算向量所有元素的累积百分比