在 windows 和 linux 中使用 R 的不同结果
different results using R in windows and linux
我在 ubuntu 系统中使用 kmeans 时遇到问题。我似乎得到了不同的结果!
我的数据是:
x<- c(0.1295..,-0.58928,-0.244252,-0.41614,-0.58804,-0.74628,-0.9045188,-1.050903,-1.197288,-1.3353877,-1.47348656,-1.607894)
当我执行 kmeans 函数并只想获得 windows 系统中 kmeans$centers 的最大值时,
means <- max(kmeans(x, 3)$centers)
means
[1] -0.05892
当我在 ubuntu 12.04 系统中 运行 确切的代码时,我得到一个完全不同的答案
means <- max(kmeans(x,3)$centers)
means
[1] -0.1482334
所以,我在没有 max 函数的情况下再次执行了 kmeans
means <- kmeans(x, 3)
means$centers
NULL
但是,意味着它自己拥有所有条目
means
Available components:
[1] "cluster" "centers" "tots" "withinss" "tot.withinss"
[6] "betweenss" "size" "iter" "ifault"
windows 和 linux 中的功能似乎有所不同。谁能帮我解决这个问题?!
k-means 算法通常不是确定性的,也就是说,它通常不会产生完美可重现的结果。主要原因是在常见的算法中 initialization is random.
正如在 ?kmeans
中讨论的那样
trying several random starts (nstart> 1) is often recommended
我在 ubuntu 系统中使用 kmeans 时遇到问题。我似乎得到了不同的结果! 我的数据是:
x<- c(0.1295..,-0.58928,-0.244252,-0.41614,-0.58804,-0.74628,-0.9045188,-1.050903,-1.197288,-1.3353877,-1.47348656,-1.607894)
当我执行 kmeans 函数并只想获得 windows 系统中 kmeans$centers 的最大值时,
means <- max(kmeans(x, 3)$centers)
means
[1] -0.05892
当我在 ubuntu 12.04 系统中 运行 确切的代码时,我得到一个完全不同的答案
means <- max(kmeans(x,3)$centers)
means
[1] -0.1482334
所以,我在没有 max 函数的情况下再次执行了 kmeans
means <- kmeans(x, 3)
means$centers
NULL
但是,意味着它自己拥有所有条目
means
Available components:
[1] "cluster" "centers" "tots" "withinss" "tot.withinss"
[6] "betweenss" "size" "iter" "ifault"
windows 和 linux 中的功能似乎有所不同。谁能帮我解决这个问题?!
k-means 算法通常不是确定性的,也就是说,它通常不会产生完美可重现的结果。主要原因是在常见的算法中 initialization is random.
正如在 ?kmeans
中讨论的那样trying several random starts (nstart> 1) is often recommended