
V - vector datatypeD - distance value type@Title(value="K-Means") @Description(value="Finds a partitioning into k clusters.") @Reference(authors="S. Lloyd", title="Least squares quantization in PCM", booktitle="IEEE Transactions on Information Theory 28 (2): 129\u2013137.", url="http://dx.doi.org/10.1109/TIT.1982.1056489") public class KMeansLloyd<V extends NumberVector<V,?>,D extends Distance<D>> extends AbstractKMeans<V,D> implements ClusteringAlgorithm<Clustering<MeanModel<V>>>
Reference:
S. Lloyd
Least squares quantization in PCM
IEEE Transactions on Information Theory 28 (2)
previously published as Bell Telephone Laboratories Paper
| Modifier and Type | Class and Description |
|---|---|
static class |
KMeansLloyd.Parameterizer<V extends NumberVector<V,?>,D extends Distance<D>>
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
private static Logging |
logger
The logger for this class.
|
initializer, k, maxiterINIT_ID, K_ID, MAXITER_ID, SEED_ID| Constructor and Description |
|---|
KMeansLloyd(PrimitiveDistanceFunction<NumberVector<?,?>,D> distanceFunction,
int k,
int maxiter,
KMeansInitialization<V> initializer)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
Clustering<MeanModel<V>> |
run(Database database,
Relation<V> relation)
Run k-means
|
assignToNearestCluster, getInputTypeRestriction, incrementalUpdateMean, macQueenIterate, means, mediansgetDistanceFunctionmakeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrungetInputTypeRestrictionprivate static final Logging logger
public KMeansLloyd(PrimitiveDistanceFunction<NumberVector<?,?>,D> distanceFunction, int k, int maxiter, KMeansInitialization<V> initializer)
distanceFunction - distance functionk - k parametermaxiter - Maxiter parameterpublic Clustering<MeanModel<V>> run(Database database, Relation<V> relation)
database - Databaserelation - relation to useprotected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<Clustering<MeanModel<V extends NumberVector<V,?>>>>