问题描述
来自 https://runawayhorse001.github.io/LearningApacheSpark/clustering.html 的示例 在我决定测试 Spark 的集群示例时导致了奇怪的错误。 示例:
from sklearn.cluster import KMeans
import numpy as np
cost = np.zeros(20)
for k in range(2,20):
kmeans = KMeans()\
.setK(k)\
.setSeed(1) \
.setFeaturesCol("indexedFeatures")\
.setPredictionCol("cluster")
model = kmeans.fit(data)
cost[k] = model.computeCost(data)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-22-296a7d54514a> in <module>
2 cost = np.zeros(20)
3 for k in range(2,20):
----> 4 kmeans = KMeans()\
5 .setK(k)\
6 .setSeed(1) \
AttributeError: 'KMeans' object has no attribute 'setK'
我过去遇到过类似问题,.fit()
解决了这些问题,但现在不起作用。
解决方法
您导入了错误的 KMeans。我相信 KMeans 指的是 Spark ML 中的那个,而不是 scikit-learn 中的那个。
from pyspark.ml.clustering import KMeans