R k均值法和弯头法为同一数据和同一中心生成不同的图形。
我试图从eblow图中找到最佳集群大小。 问题是每次我运行代码时,它都会生成不同的图形R k均值法和弯头法为同一数据和同一中心生成不同的图形。,r,k-means,R,K Means,我试图从eblow图中找到最佳集群大小。 问题是每次我运行代码时,它都会生成不同的图形 par(mfrow=c(2,2)) for(i in 1:4){ data <- read.csv(file = "C:/Users/sd0298/Desktop/data.csv", header = TRUE) wss <- (nrow(data)-1)*sum(apply(data,2,var)) for (i in 2:15) {
par(mfrow=c(2,2))
for(i in 1:4){
data <- read.csv(file = "C:/Users/sd0298/Desktop/data.csv", header = TRUE)
wss <- (nrow(data)-1)*sum(apply(data,2,var))
for (i in 2:15) {
wss[i] <- sum(kmeans(data, centers=i, iter.max = 500, nstart = 1, algorithm = "Lloyd" , trace = TRUE)$withinss)
}
plot(1:15, wss, type="b", xlab="Number of Clusters", ylab="Within groups sum of squares", main="SSE vs Cluster levels",cex.axis = 0.8)
}
par(mfrow=c(2,2))
for(i in 1:4){
data <- read.csv(file = "C:/Users/sd0298/Desktop/data.csv", header = TRUE)
wss <- (nrow(data)-1)*sum(apply(data,2,var))
km <- kmeans(data, centers=4, iter.max = 500, nstart = 1, algorithm = "Lloyd" , trace = TRUE)
clusplot(data, km$cluster, color=TRUE, shade=T, span=T, col.p = c("#666666"), lines=0 ,plotchar=F, sub = "" ,main = "", labels=5)
}
par(mfrow=c(2,2))
(我在1:4中){
data您正在对R
kmeans()
函数进行以下调用:
km <- kmeans(data, centers=4, iter.max = 500, nstart = 1, algorithm = "Lloyd" , trace = TRUE)
km这是意料之中的,因为kmeans
的结果是随机启动的。您可以通过提前指定组平均值来帮助函数。