如何解决AttributeError: 'KMeans' 对象没有属性 'setK'
来自 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)
尽管已经实现了拟合,但它导致了 Kmeans 属性的错误。
---------------------------------------------------------------------------
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。