我正在使用 Spark ML 来运行 Kmeans。我有一堆数据和三个现有中心,例如这三个中心是:[1.0,1.0,1.0],[5.0,5.0,5.0],[9.0,9.0,9.0].
那么我如何表明 Kmeans 中心是上述三个向量。
我看到 Kmean 对象有种子参数,但种子参数是 long 类型而不是数组。那么我如何告诉 Spark Kmeans 仅使用现有的中心进行聚类。
或者说,我不明白 Spark Kmeans 中种子的含义,我认为种子应该是一个向量数组,在运行聚类之前代表指定的中心。
Indeed, seed
并不意味着您的想法,即它不用于“播种”(初始化)聚类中心,而只是用于设置随机种子 - 您可以在文档中确认这一点Scala and Python APIs.
据我所知,目前(Spark 2.1)无法为 Spark ML 中的 k-means 提供初始聚类中心(请参阅这个答案对于 Spark MLlib)。这initMode参数,根据文档:
可以是“随机”以选择随机点作为初始聚类中心,也可以是“k-means||”使用 k-means++ 的并行变体')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)