From 33be4da5391b884191c405ffbce7d382ea8a2f66 Mon Sep 17 00:00:00 2001 From: Zheng RuiFeng <ruifengz@foxmail.com> Date: Tue, 15 Nov 2016 15:44:50 +0100 Subject: [PATCH] [SPARK-18427][DOC] Update docs of mllib.KMeans ## What changes were proposed in this pull request? 1,Remove `runs` from docs of mllib.KMeans 2,Add notes for `k` according to comments in sources ## How was this patch tested? existing tests Author: Zheng RuiFeng <ruifengz@foxmail.com> Closes #15873 from zhengruifeng/update_doc_mllib_kmeans. --- docs/mllib-clustering.md | 6 ++---- examples/src/main/python/mllib/k_means_example.py | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/mllib-clustering.md b/docs/mllib-clustering.md index d5f6ae379a..8990e95796 100644 --- a/docs/mllib-clustering.md +++ b/docs/mllib-clustering.md @@ -24,13 +24,11 @@ variant of the [k-means++](http://en.wikipedia.org/wiki/K-means%2B%2B) method called [kmeans||](http://theory.stanford.edu/~sergei/papers/vldb12-kmpar.pdf). The implementation in `spark.mllib` has the following parameters: -* *k* is the number of desired clusters. +* *k* is the number of desired clusters. Note that it is possible for fewer than k clusters to be returned, for example, if there are fewer than k distinct points to cluster. * *maxIterations* is the maximum number of iterations to run. * *initializationMode* specifies either random initialization or initialization via k-means\|\|. -* *runs* is the number of times to run the k-means algorithm (k-means is not -guaranteed to find a globally optimal solution, and when run multiple times on -a given dataset, the algorithm returns the best clustering result). +* *runs* This param has no effect since Spark 2.0.0. * *initializationSteps* determines the number of steps in the k-means\|\| algorithm. * *epsilon* determines the distance threshold within which we consider k-means to have converged. * *initialModel* is an optional set of cluster centers used for initialization. If this parameter is supplied, only one run is performed. diff --git a/examples/src/main/python/mllib/k_means_example.py b/examples/src/main/python/mllib/k_means_example.py index 5c397e62ef..d6058f4502 100644 --- a/examples/src/main/python/mllib/k_means_example.py +++ b/examples/src/main/python/mllib/k_means_example.py @@ -36,8 +36,7 @@ if __name__ == "__main__": parsedData = data.map(lambda line: array([float(x) for x in line.split(' ')])) # Build the model (cluster the data) - clusters = KMeans.train(parsedData, 2, maxIterations=10, - runs=10, initializationMode="random") + clusters = KMeans.train(parsedData, 2, maxIterations=10, initializationMode="random") # Evaluate clustering by computing Within Set Sum of Squared Errors def error(point): -- GitLab