spark-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject spark git commit: [SPARK-18427][DOC] Update docs of mllib.KMeans
Date Tue, 15 Nov 2016 14:45:34 GMT
Repository: spark
Updated Branches:
  refs/heads/branch-2.1 a0125fd68 -> 0762c0ceb

[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 <>

Closes #15873 from zhengruifeng/update_doc_mllib_kmeans.

(cherry picked from commit 33be4da5391b884191c405ffbce7d382ea8a2f66)
Signed-off-by: Sean Owen <>


Branch: refs/heads/branch-2.1
Commit: 0762c0cebe66f806b138420baa562787fd0cf375
Parents: a0125fd
Author: Zheng RuiFeng <>
Authored: Tue Nov 15 15:44:50 2016 +0100
Committer: Sean Owen <>
Committed: Tue Nov 15 15:45:26 2016 +0100

 docs/                          | 6 ++----
 examples/src/main/python/mllib/ | 3 +--
 2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/docs/ b/docs/
index d5f6ae3..8990e95 100644
--- a/docs/
+++ b/docs/
@@ -24,13 +24,11 @@ variant of the [k-means++](
 called [kmeans||](
 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/ b/examples/src/main/python/mllib/
index 5c397e6..d6058f4 100644
--- a/examples/src/main/python/mllib/
+++ b/examples/src/main/python/mllib/
@@ -36,8 +36,7 @@ if __name__ == "__main__":
     parsedData = 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):

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message