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.
|
varstat
initializer, k, maxiter
distanceFunction
ALGORITHM_ID
INIT_ID, K_ID, MAXITER_ID, SEED_ID, VARSTAT_ID
DISTANCE_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, setK
getDistanceFunction
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
getDistanceFunction
private 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)
KMeans
run
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()
AbstractAlgorithm
getLogger
in class KMeansSimplifiedElkan<V extends NumberVector>
Copyright © 2019 ELKI Development Team. License information.