|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.math.stat.clustering.KMeansPlusPlusClusterer<T>
T
- type of the points to clusterpublic class KMeansPlusPlusClusterer<T extends Clusterable<T>>
Clustering algorithm based on David Arthur and Sergei Vassilvitski k-means++ algorithm.
Field Summary | |
---|---|
private java.util.Random |
random
Random generator for choosing initial centers. |
Constructor Summary | |
---|---|
KMeansPlusPlusClusterer(java.util.Random random)
Build a clusterer. |
Method Summary | ||
---|---|---|
private static
|
assignPointsToClusters(java.util.Collection<Cluster<T>> clusters,
java.util.Collection<T> points)
Adds the given points to the closest Cluster . |
|
private static
|
chooseInitialCenters(java.util.Collection<T> points,
int k,
java.util.Random random)
Use K-means++ to choose the initial centers. |
|
java.util.List<Cluster<T>> |
cluster(java.util.Collection<T> points,
int k,
int maxIterations)
Runs the K-means++ clustering algorithm. |
|
private static
|
getNearestCluster(java.util.Collection<Cluster<T>> clusters,
T point)
Returns the nearest Cluster to the given point |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.util.Random random
Constructor Detail |
---|
public KMeansPlusPlusClusterer(java.util.Random random)
random
- random generator to use for choosing initial centersMethod Detail |
---|
public java.util.List<Cluster<T>> cluster(java.util.Collection<T> points, int k, int maxIterations)
points
- the points to clusterk
- the number of clusters to split the data intomaxIterations
- the maximum number of iterations to run the algorithm
for. If negative, no maximum will be used
private static <T extends Clusterable<T>> void assignPointsToClusters(java.util.Collection<Cluster<T>> clusters, java.util.Collection<T> points)
Cluster
.
T
- type of the points to clusterclusters
- the Cluster
s to add the points topoints
- the points to add to the given Cluster
sprivate static <T extends Clusterable<T>> java.util.List<Cluster<T>> chooseInitialCenters(java.util.Collection<T> points, int k, java.util.Random random)
T
- type of the points to clusterpoints
- the points to choose the initial centers fromk
- the number of centers to chooserandom
- random generator to use
private static <T extends Clusterable<T>> Cluster<T> getNearestCluster(java.util.Collection<Cluster<T>> clusters, T point)
Cluster
to the given point
T
- type of the points to clusterclusters
- the Cluster
s to searchpoint
- the point to find the nearest Cluster
for
Cluster
to the given point
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |