在 mllib kmeans pyspark 中获取集群标签
get cluster labels in mllib kmeans pyspark
在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")
这个returns一个KmeansModel
对象。这个 class 没有任何等同于 sklearn 的 labels_
我不知道如何在 mllib 的 kmeans 中获取标签
只需对训练数据使用预测:
temp.predict(data)
或
parsedData.map(temp.predict)
这是一个老问题。然而,那是过去,现在是,现在在 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 ]
在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")
这个returns一个KmeansModel
对象。这个 class 没有任何等同于 sklearn 的 labels_
我不知道如何在 mllib 的 kmeans 中获取标签
只需对训练数据使用预测:
temp.predict(data)
或
parsedData.map(temp.predict)
这是一个老问题。然而,那是过去,现在是,现在在 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 ]