Я относительно новым для R. Я просто пытаюсь выяснить оптимальное количество кластеров для данных радужной оболочки с помощью следующих методов:ошибка в R кода, написанного для поиска кластеров
library(datasets)
head(iris)
# method1:
wss <- (nrow(iris)-1)*sum(apply(iris,2,var))
for (i in 2:3) wss[i] <- sum(kmeans(iris, centers=i)$withinss)
plot(1:3, wss, type="b", xlab="Number of Clusters",ylab="Within groups sum of squares")
# method2:
library(fpc)
pamk.best <- pamk(iris)
cat("number of clusters estimated by optimum average silhouette width:", pamk.best$nc, "\n")
plot(pam(iris, pamk.best$nc))
Оба метода бросить ошибку. Поэтому, пожалуйста, попросите кого-нибудь пролить свет на него. Спасибо заранее.
При получении сообщения об ошибке вы должны включить точное сообщение об ошибке в свой вопрос. Вы посмотрели на результат «apply (iris, 2, var)»? Это может дать вам понять, что происходит. Вы не можете использовать kmeans по категориальным (факторным) данным напрямую. – MrFlick
Не имеет никакого отношения к программированию: я думаю, что ваш критерий для оптимального количества кластеров для kmeans не должен быть минимальным значением inss, потому что это будет уменьшаться при каждом добавлении кластера, пока каждое наблюдение не будет одним кластером. –