V - vector datatype@Reference(authors="C. Elkan", title="Using the triangle inequality to accelerate k-means", booktitle="Proc. 20th International Conference on Machine Learning, ICML 2003", url="http://www.aaai.org/Library/ICML/2003/icml03-022.php", bibkey="DBLP:conf/icml/Elkan03") public class KMeansElkan<V extends NumberVector> extends KMeansSimplifiedElkan<V>
This variant needs O(n*k) additional memory to store bounds.
See KMeansHamerly for a close variant that only uses O(n*2)
additional memory for bounds.
Reference:
C. Elkan
Using the triangle inequality to accelerate k-means
Proc. 20th International Conference on Machine Learning, ICML 2003
| Modifier and Type | Class and Description |
|---|---|
protected static class |
KMeansElkan.Instance
Inner instance, storing state for a single data set.
|
static class |
KMeansElkan.Parameterizer<V extends NumberVector>
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
private static Logging |
LOG
The logger for this class.
|
varstatinitializer, k, maxiterdistanceFunctionALGORITHM_IDINIT_ID, K_ID, MAXITER_ID, SEED_ID, VARSTAT_IDDISTANCE_FUNCTION_ID| Constructor and Description |
|---|
KMeansElkan(NumberVectorDistanceFunction<? super V> distanceFunction,
int k,
int maxiter,
KMeansInitialization initializer,
boolean varstat)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
Clustering<KMeansModel> |
run(Database database,
Relation<V> relation)
Run the clustering algorithm.
|
getInputTypeRestriction, incrementalUpdateMean, initialMeans, means, minusEquals, nearestMeans, plusEquals, plusMinusEquals, setDistanceFunction, setInitializer, setKgetDistanceFunctionrunclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrungetDistanceFunctionprivate static final Logging LOG
public KMeansElkan(NumberVectorDistanceFunction<? super V> distanceFunction, int k, int maxiter, KMeansInitialization initializer, boolean varstat)
distanceFunction - distance functionk - k parametermaxiter - Maxiter parameterinitializer - Initialization methodvarstat - Compute the variance statisticpublic Clustering<KMeansModel> run(Database database, Relation<V> relation)
KMeansrun in interface KMeans<V extends NumberVector,KMeansModel>run in class KMeansSimplifiedElkan<V extends NumberVector>database - Database to run on.relation - Relation to process.protected Logging getLogger()
AbstractAlgorithmgetLogger in class KMeansSimplifiedElkan<V extends NumberVector>Copyright © 2019 ELKI Development Team. License information.