nis*_*ant 3 python scikit-learn apache-spark pyspark apache-spark-mllib
当我在pyspark中使用Spark的mllib时,如何获得集群标签?在sklearn,这可以很容易地完成
kmeans = MiniBatchKMeans(n_clusters=k,random_state=1)
temp=kmeans.fit(data)
cluster_labels=temp.labels_
Run Code Online (Sandbox Code Playgroud)
在mllib中,我运行kmeans:
temp = KMeans.train(data, k, maxIterations=10, runs=10, initializationMode="random")
Run Code Online (Sandbox Code Playgroud)
这会返回一个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 ]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3042 次 |
| 最近记录: |