我第一次在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
算法?
答案 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。