Class AkaikeInformationCriterion

  • All Implemented Interfaces:
    KMeansQualityMeasure<NumberVector>

    @Reference(authors="H. Akaike",title="Information Theory and an Extension of the Maximum Likelihood Principle",booktitle="Second International Symposium on Information Theory",bibkey="conf/isit/Akaike73") @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 AkaikeInformationCriterion
    extends AbstractKMeansQualityMeasure<NumberVector>
    Akaike Information Criterion (AIC).

    Reference:

    H. Akaike
    Information Theory and an Extension of the Maximum Likelihood Principle
    Second International Symposium on Information Theory

    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.7.0
    Author:
    Tibor Goldschwendt, Erich Schubert
    • Constructor Detail

      • AkaikeInformationCriterion

        public AkaikeInformationCriterion()
    • 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.