在pyspark中使用Spark的mllib如何获取簇标签?在 sklearn 中,这可以通过
轻松完成kmeans = MiniBatchKMeans(n_clusters=k,random_state=1)
temp=kmeans.fit(data)
cluster_labels=temp.labels_
在 mllib 中,我将 kmeans 运行为:
temp = KMeans.train(data, k, maxIterations=10, runs=10, initializationMode="random")
这将返回一个 KmeansModel
对象。这个类没有任何等同于 sklearn 的 labels_
我无法弄清楚如何在 mllib 的 kmeans 中获取标签
最佳答案
这是一个老问题。然而,那是过去,现在是,现在在 pyspark 2.2 中,KMeans 没有训练方法,模型也没有预测方法。 获取标签的正确方法是
kmeans = KMeans().setK(k).setSeed(1)
model = kmeans.fit(data)
prediction = model.transform(data).select('prediction').collect()
labels = [p.prediction for p in prediction ]
关于python - 在 mllib kmeans pyspark 中获取集群标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36345546/