2017-06-29 71 views
0

我已經試過如何獲得在平分集羣ID K-意味着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和我得到的數組,但我需要每個案件屬於的組。

謝謝

回答

0

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

MLLib包是第一個包,但隨後開發人員開始構建新的包ML,它與DataFrames一起工作。

將您的軟件包更改爲pyspark.ml.clustering,您將獲得新版本,其中包含transform函數,並且可以使用DataFrame和新的ML管道。我建議喲建立管道,當你將有算法工作:)

+0

不幸的是它不工作:( – Learner

+0

我檢查了https://spark.apache.org/docs/latest/api/python/pyspark.ml.html #pyspark.ml.clustering.BisectingKmeans from pyspark.ml.clustering import BisectingKmeans dataset = spark.read.format(「libsvm」).load(「C:\ spark \ data \ iris_data.txt」)現在我得到了這個error: ----> 4 dataset = spark.read.format(「libsvm」).load – Learner

+0

您必須創建您的SparkSession https://spark.apache.org/docs/latest/api/python/pyspark.sql.html#pyspark.sql.SparkSession –