Github user jkbradley commented on a diff in the pull request: https://github.com/apache/spark/pull/11119#discussion_r84731896 --- Diff: mllib/src/main/scala/org/apache/spark/ml/clustering/KMeans.scala --- @@ -320,6 +368,23 @@ class KMeans @Since("1.5.0") ( .setMaxIterations($(maxIter)) .setSeed($(seed)) .setEpsilon($(tol)) + + if (isDefined(initialModel)) { + // Check that the feature dimensions are equal + val dimOfData = rdd.first().size + val dimOfInitialModel = $(initialModel).clusterCenters.head.size + require(dimOfData == dimOfInitialModel, + s"mismatched dimension, $dimOfData in data while $dimOfInitialModel in the initial model.") + + // Check that the number of clusters are equal + val kOfInitialModel = $(initialModel).parentModel.clusterCenters.length + require(kOfInitialModel == $(k), --- End diff -- I'd recommend that this log a warning instead of causing a failure. If we use CrossValidator to select amongst initial models, then
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org