Class AkaikeInformationCriterionXMeans

  • All Implemented Interfaces:
    KMeansQualityMeasure<NumberVector>

    @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 AkaikeInformationCriterionXMeans
    extends AbstractKMeansQualityMeasure<NumberVector>
    Akaike Information Criterion (AIC).

    Reference:

    The use for k-means was briefly mentioned in:

    D. Pelleg, A. Moore
    X-means: Extending K-means with Efficient Estimation on the Number of Clusters
    In: Proceedings of the 17th International Conference on Machine Learning (ICML 2000)

    Since:
    0.8.0
    Author:
    Tibor Goldschwendt, Erich Schubert
    • Constructor Detail

      • AkaikeInformationCriterionXMeans

        public AkaikeInformationCriterionXMeans()
    • 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 analyze
        distance - 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/score
        bestCost - Existing best cost/score (may be NaN)
        Returns:
        true when the new score is better, or the old score is NaN.