Package elki.clustering.kmeans
Class ExponionKMeans<V extends elki.data.NumberVector>
- java.lang.Object
-
- elki.clustering.kmeans.AbstractKMeans<V,KMeansModel>
-
- elki.clustering.kmeans.HamerlyKMeans<V>
-
- elki.clustering.kmeans.ExponionKMeans<V>
-
- Type Parameters:
V- vector datatype
- All Implemented Interfaces:
elki.Algorithm,ClusteringAlgorithm<Clustering<KMeansModel>>,KMeans<V,KMeansModel>
- Direct Known Subclasses:
ShallotKMeans
@Reference(authors="J. Newling", title="Fast k-means with accurate bounds", booktitle="Proc. 33nd Int. Conf. on Machine Learning, ICML 2016", url="http://jmlr.org/proceedings/papers/v48/newling16.html", bibkey="DBLP:conf/icml/NewlingF16") @Priority(199) public class ExponionKMeans<V extends elki.data.NumberVector> extends HamerlyKMeans<V>Newlings's Exponion k-means algorithm, exploiting the triangle inequality.This is not a complete implementation, the approximative sorting part is missing. We also had to guess on the paper how to make best use of F.
Reference:
J. Newling
Fast k-means with accurate bounds
Proc. 33nd Int. Conf. on Machine Learning, ICML 2016- Since:
- 0.7.5
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classExponionKMeans.InstanceInner instance, storing state for a single data set.static classExponionKMeans.Par<V extends elki.data.NumberVector>Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description private static elki.logging.LoggingLOGThe logger for this class.-
Fields inherited from class elki.clustering.kmeans.HamerlyKMeans
varstat
-
Fields inherited from class elki.clustering.kmeans.AbstractKMeans
distance, initializer, k, maxiter
-
Fields inherited from interface elki.clustering.kmeans.KMeans
DISTANCE_FUNCTION_ID, INIT_ID, K_ID, MAXITER_ID, SEED_ID, VARSTAT_ID
-
-
Constructor Summary
Constructors Constructor Description ExponionKMeans(elki.distance.NumberVectorDistance<? super V> distance, int k, int maxiter, KMeansInitialization initializer, boolean varstat)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected elki.logging.LogginggetLogger()Get the (STATIC) logger for this class.Clustering<KMeansModel>run(elki.database.relation.Relation<V> relation)Run the clustering algorithm.-
Methods inherited from class elki.clustering.kmeans.AbstractKMeans
getDistance, getInputTypeRestriction, incrementalUpdateMean, initialMeans, means, minusEquals, nearestMeans, plusEquals, plusMinusEquals, setDistance, setInitializer, setK
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.ClusteringAlgorithm
autorun
-
-
-
-
Constructor Detail
-
ExponionKMeans
public ExponionKMeans(elki.distance.NumberVectorDistance<? super V> distance, int k, int maxiter, KMeansInitialization initializer, boolean varstat)
Constructor.- Parameters:
distance- distance functionk- k parametermaxiter- Maxiter parameterinitializer- Initialization methodvarstat- Compute the variance statistic
-
-
Method Detail
-
run
public Clustering<KMeansModel> run(elki.database.relation.Relation<V> relation)
Description copied from interface:KMeansRun the clustering algorithm.- Specified by:
runin interfaceKMeans<V extends elki.data.NumberVector,KMeansModel>- Overrides:
runin classHamerlyKMeans<V extends elki.data.NumberVector>- Parameters:
relation- Relation to process.- Returns:
- Clustering result
-
getLogger
protected elki.logging.Logging getLogger()
Description copied from class:AbstractKMeansGet the (STATIC) logger for this class.- Overrides:
getLoggerin classHamerlyKMeans<V extends elki.data.NumberVector>- Returns:
- the static logger
-
-