python - 在 mllib kmeans pyspark 中获取集群标签

标签 python apache-spark scikit-learn pyspark apache-spark-mllib

在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/

相关文章:

python - "AttributeError: ' 模块 ' has no attribute ' 播放器 '"尝试使用 Boost::Python 将 python 对象加载到 C++ 中时

apache-spark - Spark Streaming Kafka 到 ES

apache-spark - PySpark3 将 yyyyMMddhhmmss 解析为 TimestampType() 时没有属性 'tzinfo' 错误

python - sklearn LatentDirichletAllocation 新语料库的主题推理

python - 如何使用 sklearn 将数据分成 3 个或更多部分

python - 将嵌套字典转换为表/父子结构,Python 3.6

python - 从另一个python文件调用一个python文件中的函数

scala - 避免加入Spark Scala DataFrame

python - scikit-learn:将多输出决策树转换为 CoreML 模型

python - Docker 容器构建失败 :/bin/sh: 1: flask: not found