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<?>,D extends Distance<D>> extends AbstractKMeans<V,D,KMeansModel<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<?>,D extends Distance<D>>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private static Logging |
LOG
The logger for this class.
|
initializer, k, maxiter
distanceFunction
INIT_ID, K_ID, MAXITER_ID, SEED_ID
DISTANCE_FUNCTION_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<KMeansModel<V>> |
run(Database database,
Relation<V> relation)
Run the clustering algorithm.
|
assignToNearestCluster, getInputTypeRestriction, incrementalUpdateMean, macQueenIterate, means, medians, setDistanceFunction, setK, updateAssignment
getDistanceFunction
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
getDistanceFunction
private static final Logging LOG
public KMeansLloyd(PrimitiveDistanceFunction<NumberVector<?>,D> distanceFunction, int k, int maxiter, KMeansInitialization<V> initializer)
distanceFunction
- distance functionk
- k parametermaxiter
- Maxiter parameterinitializer
- Initialization methodpublic Clustering<KMeansModel<V>> run(Database database, Relation<V> relation)
KMeans
database
- Database to run on.relation
- Relation to process.protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<Clustering<KMeansModel<V extends NumberVector<?>>>>