Python MLLib KMeans算法-maxIterations定义

时间:2018-12-31 13:58:39

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

我第一次在Python中使用.active > a { color:red; } ,并且正在为一个简单的任务苦苦挣扎:我需要为MLlib算法定义多个maxIterations。而在Scala中,效果很好:

KMean

针对Python的相同方法不会:

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

我得到了错误:

  

AttributeError:“ KMeans”对象没有属性“ setMaxIterations”

我在文档中找不到(可能是我的错),但是基本上,我的问题是:如何(在Python中)为kmeans = KMeans().setK(K).setMaxIterations(maxNumIters) 定义MaxIterations算法?

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分:0)

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

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

数据是您的训练数据。有关更多参数,请参见link