Class KMeansPlusPlus<O>
- java.lang.Object
-
- elki.clustering.kmeans.initialization.AbstractKMeansInitialization
-
- elki.clustering.kmeans.initialization.KMeansPlusPlus<O>
-
- Type Parameters:
O- Vector type
- All Implemented Interfaces:
KMeansInitialization,KMedoidsInitialization<O>
@Title("K-means++") @Reference(authors="D. Arthur, S. Vassilvitskii", title="k-means++: the advantages of careful seeding", booktitle="Proc. 18th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2007)", url="http://dl.acm.org/citation.cfm?id=1283383.1283494", bibkey="DBLP:conf/soda/ArthurV07") public class KMeansPlusPlus<O> extends AbstractKMeansInitialization implements KMedoidsInitialization<O>K-Means++ initialization for k-means.Reference:
D. Arthur, S. Vassilvitskii
k-means++: the advantages of careful seeding
Proc. 18th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2007)- Since:
- 0.5.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classKMeansPlusPlus.Instance<T>Abstract instance implementing the weight handling.protected static classKMeansPlusPlus.MedoidsInstanceInstance for k-medoids.protected static classKMeansPlusPlus.NumberVectorInstanceInstance for k-means, number vector based.static classKMeansPlusPlus.Par<V>Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description private static elki.logging.LoggingLOGClass logger.-
Fields inherited from class elki.clustering.kmeans.initialization.AbstractKMeansInitialization
rnd
-
-
Constructor Summary
Constructors Constructor Description KMeansPlusPlus(elki.utilities.random.RandomFactory rnd)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double[][]chooseInitialMeans(elki.database.relation.Relation<? extends elki.data.NumberVector> relation, int k, elki.distance.NumberVectorDistance<?> distance)Choose initial meanselki.database.ids.DBIDschooseInitialMedoids(int k, elki.database.ids.DBIDs ids, elki.database.query.distance.DistanceQuery<? super O> distQ)Choose initial means-
Methods inherited from class elki.clustering.kmeans.initialization.AbstractKMeansInitialization
unboxVectors
-
-
-
-
Method Detail
-
chooseInitialMeans
public double[][] chooseInitialMeans(elki.database.relation.Relation<? extends elki.data.NumberVector> relation, int k, elki.distance.NumberVectorDistance<?> distance)Description copied from interface:KMeansInitializationChoose initial means- Specified by:
chooseInitialMeansin interfaceKMeansInitialization- Parameters:
relation- Relationk- Parameter kdistance- Distance function- Returns:
- List of chosen means for k-means
-
chooseInitialMedoids
public elki.database.ids.DBIDs chooseInitialMedoids(int k, elki.database.ids.DBIDs ids, elki.database.query.distance.DistanceQuery<? super O> distQ)Description copied from interface:KMedoidsInitializationChoose initial means- Specified by:
chooseInitialMedoidsin interfaceKMedoidsInitialization<O>- Parameters:
k- Parameter kids- Candidate IDs.distQ- Distance function- Returns:
- List of chosen means for k-means
-
-