que*_*ion 2 r cluster-analysis weka k-means
library(amap)
set.seed(5)
Kmeans(mydata, 5, iter.max=500, nstart=1, method="euclidean")
Run Code Online (Sandbox Code Playgroud)
在'amap'包中运行几次,但即使参数和种子值始终相同,每次运行Kmeans或其他集群方法时,聚类结果也不同.
我在不同的包中尝试了另一个kmeans功能,但仍然相同...
事实上,我想一起使用Weka和R,所以我也试过SimpleKMeans了RWeka包,这总是给出了相同的值.但是,问题是我不知道如何将集群数据与来自RWeka的SimpleKmeans的集群号一起存储,所以我被卡住了......
无论如何,如何保持聚类结果始终相同?或者如何将聚类结果存储SimpleKmeans到R中?
你一定做错了.每次运行以下代码时,我都会得到可重现的结果,只要我在每次调用之前设置种子Kmeans():
library(amap)
out <- vector(mode = "list", length = 10)
for(i in seq_along(out)) {
set.seed(1)
out[[i]] <- Kmeans(iris[, -5], 3, iter.max=500, nstart=1, method="euclidean")
}
for(i in seq_along(out[-1])) {
print(all.equal(out[[i]], out[[i+1]]))
}
Run Code Online (Sandbox Code Playgroud)
最后一个for循环打印:
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
每次指示结果完全相同.
| 归档时间: |
|
| 查看次数: |
4798 次 |
| 最近记录: |