【发布时间】:2020-06-10 07:51:21
【问题描述】:
我用 Pypsark 创建了一个 kmeans 算法。现在,我还想提取聚类中心。如何将其包含在管道中?这是我到目前为止的代码,但它给我一个错误'AttributeError:'PipelineModel'对象没有属性'clusterCenters'。怎么解决?
#### model K-Means ###
from pyspark.ml.clustering import KMeans, KMeansModel
kmeans = KMeans() \
.setK(3) \
.setFeaturesCol("scaledFeatures")\
.setPredictionCol("cluster")
# Chain indexer and tree in a Pipeline
pipeline = Pipeline(stages=[kmeans])
model = pipeline.fit(matrix_normalized)
cluster = model.transform(matrix_normalized)
#get cluster centers
centers = model.clusterCenters()
【问题讨论】:
-
可能是model[0].clusterCenter()?
-
不幸的是,这给了我 TypeError: 'PipelineModel' object is not subscriptable
-
对不起,需要使用model.stage来访问管道模型里面的iterable
标签: python machine-learning pyspark cluster-analysis k-means