【问题标题】:Python MLLib KMeans algorithm - maxIterations definitionPython MLLib KMeans 算法 - maxIterations 定义
【发布时间】:2019-05-28 00:51:01
【问题描述】:

我第一次在 Python 中使用MLlib,我正在努力完成一项简单的任务:我需要为KMean 算法定义多个maxIterations。而在 Scala 中它运行良好:

val kmeans = new KMeans
kmeans.setK(K)
kmeans.setMaxIterations(maxNumIters)

Python 的相同方法不会:

kmeans = KMeans().setK(K).setMaxIterations(maxNumIters)

我得到了错误:

AttributeError: 'KMeans' 对象没有属性 'setMaxIterations'

我在文档中找不到(可能是我的错),但基本上,我的问题是:我如何定义(在 Python 中)MaxIterations 用于 KMeans 算法?强>

【问题讨论】:

标签: python k-means apache-spark-mllib


【解决方案1】:

嗯,我找到了办法:

kmeans = KMeans().setK(K).setMaxIter(maxNumIters)

顺便说一句,更注意细节,我可以在下面的命令中找到一些有用的信息,让我看到它不是setMaxIterations,而是setMaxIter

kmeans = KMeans()
print(kmeans.explainParams())

解释:

featuresCol: features column name. (default: features)
initMode: The initialization algorithm. This can be either "random" to choose random points as initial cluster centers, or "k-means||" to use a parallel variant of k-means++ (default: k-means||)
initSteps: The number of steps for k-means|| initialization mode. Must be > 0. (default: 2)
k: The number of clusters to create. Must be > 1. (default: 2)
maxIter: max number of iterations (>= 0). (default: 20)
predictionCol: prediction column name. (default: prediction)
seed: random seed. (default: -7649703878154674547)
tol: the convergence tolerance for iterative algorithms (>= 0). (default: 0.0001)

【讨论】:

    【解决方案2】:

    您可以使用以下方法制作您的 kmeans 模型:-

    model = KMeans.train(sc.parallelize(data), maxIterations=10)
    

    其中 data 是您的训练数据。更多参数见link

    【讨论】:

      猜你喜欢
      • 2016-07-09
      • 2016-06-01
      • 2016-10-04
      • 2015-07-09
      • 1970-01-01
      • 2017-08-24
      • 2018-10-30
      • 2015-07-08
      • 2016-07-20
      相关资源
      最近更新 更多