public class KMeans$ extends Object
K-Means is an iterative clustering algorithm and works as follows:
K-Means is given a set of data points to be clustered and an initial set of ''K'' cluster
In each iteration, the algorithm computes the distance of each data point to each cluster center.
Each point is assigned to the cluster center which is closest to it.
Subsequently, each cluster center is moved to the center (''mean'') of all points that have
been assigned to it.
The moved cluster centers are fed into the next iteration.
The algorithm terminates after a fixed number of iterations (as in this implementation)
or if cluster centers do not (significantly) move in an iteration.
This is the Wikipedia entry for the
.org/wiki/K-means_clustering K-Means Clustering algorithm.
This implementation works on two-dimensional data points. It computes an assignment of data points to cluster centers, i.e., each data point is annotated with the id of the final cluster (center) it belongs to.
Input files are plain text files and must be formatted as follows:
- Data points are represented as two double values separated by a blank character.
Data points are separated by newline characters.
"1.2 2.3\n5.3 7.2\n" gives two data points (x=1.2, y=2.3) and (x=5.3,
- Cluster centers are represented by an integer id and a point value.
"1 6.2 3.2\n2 2.9 5.7\n" gives two centers (id=1, x=6.2,
y=3.2) and (id=2, x=2.9, y=5.7).
If no parameters are provided, the program is run with default data from
KMeans --points <path> --centroids <path> --output <path> --iterations <n>
KMeansDataand 10 iterations.
This example shows how to use:
- Bulk iterations - Broadcast variables in bulk iterations - Scala case classes
|Modifier and Type||Field and Description|
Static reference to the singleton instance of this Scala object.
|Constructor and Description|
|Modifier and Type||Method and Description|
public static final KMeans$ MODULE$
Copyright © 2014–2017 The Apache Software Foundation. All rights reserved.