Package elki.clustering.kmeans.quality
Class BayesianInformationCriterionXMeans
- java.lang.Object
-
- elki.clustering.kmeans.quality.AbstractKMeansQualityMeasure<NumberVector>
-
- elki.clustering.kmeans.quality.BayesianInformationCriterionXMeans
-
- All Implemented Interfaces:
KMeansQualityMeasure<NumberVector>
@Title("Bayesian Information Criterion (X-means Version)") @Reference(authors="D. Pelleg, A. Moore", title="X-means: Extending K-means with Efficient Estimation on the Number of Clusters", booktitle="Proc. 17th Int. Conf. on Machine Learning (ICML 2000)", url="http://www.pelleg.org/shared/hp/download/xmeans.ps", bibkey="DBLP:conf/icml/PellegM00") public class BayesianInformationCriterionXMeans extends AbstractKMeansQualityMeasure<NumberVector>
Bayesian Information Criterion (BIC), also known as Schwarz criterion (SBC, SBIC) for the use with evaluating k-means results.This version tries to be close to the version used in X-means, although people have argued that there are errors in this formulation.
Reference:
D. Pelleg, A. Moore:
X-means: Extending K-means with Efficient Estimation on the Number of Clusters
Proc. 17th Int. Conf. on Machine Learning (ICML 2000)- Since:
- 0.7.0
- Author:
- Tibor Goldschwendt, Erich Schubert
-
-
Constructor Summary
Constructors Constructor Description BayesianInformationCriterionXMeans()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisBetter(double currentCost, double bestCost)Compare two scores.static doublelogLikelihoodXMeans(Relation<? extends NumberVector> relation, Clustering<? extends MeanModel> clustering, NumberVectorDistance<?> distance)Computes log likelihood of an entire clustering.<V extends NumberVector>
doublequality(Clustering<? extends MeanModel> clustering, NumberVectorDistance<? super V> distance, Relation<V> relation)Calculates and returns the quality measure.-
Methods inherited from class elki.clustering.kmeans.quality.AbstractKMeansQualityMeasure
logLikelihood, numberOfFreeParameters, numPoints, varianceContributionOfCluster
-
-
-
-
Method Detail
-
quality
public <V extends NumberVector> double quality(Clustering<? extends MeanModel> clustering, NumberVectorDistance<? super V> distance, Relation<V> relation)
Description copied from interface:KMeansQualityMeasureCalculates and returns the quality measure.- Type Parameters:
V- Actual vector type (could be a subtype of O!)- Parameters:
clustering- Clustering to analyzedistance- Distance function to use (usually Euclidean or squared Euclidean!)relation- Relation for accessing objects- Returns:
- quality measure
-
logLikelihoodXMeans
public static double logLikelihoodXMeans(Relation<? extends NumberVector> relation, Clustering<? extends MeanModel> clustering, NumberVectorDistance<?> distance)
Computes log likelihood of an entire clustering.Version as used in the X-means publication.
- Parameters:
relation- Data relationclustering- Clusteringdistance- Distance function- Returns:
- Log Likelihood.
-
isBetter
public boolean isBetter(double currentCost, double bestCost)Description copied from interface:KMeansQualityMeasureCompare two scores.- Parameters:
currentCost- New (candiate) cost/scorebestCost- Existing best cost/score (may beNaN)- Returns:
truewhen the new score is better, or the old score isNaN.
-
-