pyspark 中的 K 均值聚类算法:用于定义初始种子的语法

K-means clustering algorithm in pyspark: syntax for defining the initial seed

我正在分析 pyspark 中的 k-means 聚类算法,我对语法有疑问。这是代码的相关部分:

from pyspark.ml.clustering import KMeans
from pyspark.ml.clustering import KMeansModel
import numpy as np
kmeans_modeling = KMeans(k = 5, seed = 0)
model = kmeans_modeling.fit(data.select("parameters"))

seed = 0 是什么意思?当然我们不能在同一个点上用种子初始化所有的簇,否则我们就不会得到不同的簇对吗?

根据 docs,这个 seed 参数确实是一个随机种子,正如评论中所建议的那样。种子通过确保(伪)随机数生成器在每个 运行 中提供相同的输出来确保您的机器学习 运行 是可重现的,前提是输入(包括随机种子)是相同的。

如果您正在寻找集群初始化选项,您也可以看到 docs。有两个选项:initMode = "random"initMode = "k-means||",后者是默认值。