我正在使用 k-means 的 scipy 实现,需要一种方法来循环计算 n 次,记录每个循环的质心输出数组,并计算可能性最高的输出。 编辑我设置 k = 4,所以每个解决方案都有 4 个元素。我需要确定最常出现的质心数组(即 4 个元素的集合)。
我的质心数组看起来像:
[[ 75]
[115]
[163]
[ 16]]
在手动运行代码时,由于 k-means 的随机属性,出现了 4-6 个解决方案。本质上,我想计算每个数组在 n 上的出现次数并返回最可能的数组。
编辑澄清,基于 Jblasco 对问题的解释。
每次算法运行时,它都会返回一个与上面类似的质心数组。运行算法 3 次我会得到类似的东西:
[[ 75] [[ 73] [[ 75]
[115] [112] [115]
[163] [167] [163]
[ 16]], [ 14]], [ 16]]
我想完成两件主要的事情:
1) 循环产生这些质心的代码
2) 确定最可能的(频繁的、常见的)解决方案,在这种情况下是:
[[ 75]
[115]
[163]
[ 16]]