如何在pyspark中使用Bisecting K-means方法获取集群ID

How to get the cluster ID in Bisecting K-means method in pyspark

我试过了

 from numpy import array
 from pyspark.mllib.clustering import BisectingKMeans, BisectingKMeansModel

我正在使用 iris.data 套装:

 iris_model.transform(iris)  

但是我得到这个错误:

 AttributeError                            
 Traceback (most recent call last)
 <ipython-input-241-59b5e8c1e068> in <module>()
 ----> 1 iris_model.transform(iris)

AttributeError: 'BisectingKMeansModel' object has no attribute 'transform'

我可以获得 ClusterCenters 和数组,但我需要每个案例所属的组。

谢谢

您可能不匹配 Spark ML 和 MLlib API。

MLLib 包是第一个包,但随后开发人员开始构建新包 ML,它与 DataFrames 一起工作。

将您的包更改为 pyspark.ml.clustering,您将拥有新版本,该版本具有 transform 功能并可与 DataFrame 和新的 ML 管道一起使用。我建议你在算法工作时构建管道 :)