Package elki.clustering.kmeans.quality
Class BayesianInformationCriterion
- java.lang.Object
-
- elki.clustering.kmeans.quality.AbstractKMeansQualityMeasure<NumberVector>
-
- elki.clustering.kmeans.quality.BayesianInformationCriterion
-
- All Implemented Interfaces:
KMeansQualityMeasure<NumberVector>
@Reference(authors="G. Schwarz", title="Estimating the dimension of a model", booktitle="The annals of statistics 6.2", url="https://doi.org/10.1214/aos/1176344136", bibkey="doi:10.1214/aos/1176344136") public class BayesianInformationCriterion extends AbstractKMeansQualityMeasure<NumberVector>
Bayesian Information Criterion (BIC), also known as Schwarz criterion (SBC, SBIC) for the use with evaluating k-means results.Reference:
G. Schwarz
Estimating the dimension of a model
The annals of statistics 6.2.The use for k-means was popularized by:
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 BayesianInformationCriterion()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isBetter(double currentCost, double bestCost)
Compare two scores.<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:KMeansQualityMeasure
Calculates 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
-
isBetter
public boolean isBetter(double currentCost, double bestCost)
Description copied from interface:KMeansQualityMeasure
Compare two scores.- Parameters:
currentCost
- New (candiate) cost/scorebestCost
- Existing best cost/score (may beNaN
)- Returns:
true
when the new score is better, or the old score isNaN
.
-
-