diff --git a/mllib/src/main/scala/org/apache/spark/ml/clustering/KMeans.scala b/mllib/src/main/scala/org/apache/spark/ml/clustering/KMeans.scala index 0c56629e5fbc1..0b2dede657e6e 100644 --- a/mllib/src/main/scala/org/apache/spark/ml/clustering/KMeans.scala +++ b/mllib/src/main/scala/org/apache/spark/ml/clustering/KMeans.scala @@ -36,14 +36,6 @@ import org.apache.spark.util.Utils private[clustering] trait KMeansParams extends Params with HasMaxIter with HasFeaturesCol with HasSeed with HasPredictionCol { - setDefault(k, 2) - setDefault(maxIter, 20) - setDefault(runs, 1) - setDefault(initializationMode, MLlibKMeans.K_MEANS_PARALLEL) - setDefault(initializationSteps, 5) - setDefault(epsilon, 1e-4) - setDefault(seed, Utils.random.nextLong()) - /** * Param for the column name for the number of clusters to create. * @group param @@ -152,6 +144,14 @@ class KMeansModel private[ml] ( @Experimental class KMeans(override val uid: String) extends Estimator[KMeansModel] with KMeansParams { + setDefault(k, 2) + setDefault(maxIter, 20) + setDefault(runs, 1) + setDefault(initializationMode, MLlibKMeans.K_MEANS_PARALLEL) + setDefault(initializationSteps, 5) + setDefault(epsilon, 1e-4) + setDefault(seed, Utils.random.nextLong()) + override def copy(extra: ParamMap): Estimator[KMeansModel] = defaultCopy(extra) def this() = this(Identifiable.randomUID("kmeans"))