T
- type of the points to clusterpublic class KMeansPlusPlusClusterer<T extends Clusterable<T>>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
KMeansPlusPlusClusterer.EmptyClusterStrategy
Strategies to use for replacing an empty cluster.
|
Constructor and Description |
---|
KMeansPlusPlusClusterer(java.util.Random random)
Build a clusterer.
|
KMeansPlusPlusClusterer(java.util.Random random,
KMeansPlusPlusClusterer.EmptyClusterStrategy emptyStrategy)
Build a clusterer.
|
Modifier and Type | Method and Description |
---|---|
java.util.List<Cluster<T>> |
cluster(java.util.Collection<T> points,
int k,
int maxIterations)
Runs the K-means++ clustering algorithm.
|
public KMeansPlusPlusClusterer(java.util.Random random)
The default strategy for handling empty clusters that may appear during algorithm iterations is to split the cluster with largest distance variance.
random
- random generator to use for choosing initial centerspublic KMeansPlusPlusClusterer(java.util.Random random, KMeansPlusPlusClusterer.EmptyClusterStrategy emptyStrategy)
random
- random generator to use for choosing initial centersemptyStrategy
- strategy to use for handling empty clusters that
may appear during algorithm iterationspublic 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"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"