我正在分析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
是什么意思?当然,我们不能用同一点上的种子初始化所有集群,否则我们就不会获得不同的集群,对吧?
根据文档,这个seed
参数确实是一个随机种子,正如注释中所建议的那样。种子通过确保(伪(随机数生成器在每次运行中给出相同的输出来确保机器学习运行是可重复的,前提是输入(包括随机种子(是相同的。
如果您正在寻找集群初始化选项,您也可以看到文档。有两个选项:initMode = "random"
或initMode = "k-means||"
,后者是默认选项。