Class DaviesBouldinIndex

  • All Implemented Interfaces:
    Evaluator, ResultProcessor

    @Reference(authors="D. L. Davies, D. W. Bouldin",
               title="A Cluster Separation Measure",
               booktitle="IEEE Transactions Pattern Analysis and Machine Intelligence 1(2)",
               url="https://doi.org/10.1109/TPAMI.1979.4766909",
               bibkey="DBLP:journals/pami/DaviesB79")
    public class DaviesBouldinIndex
    extends java.lang.Object
    implements Evaluator
    Compute the Davies-Bouldin index of a data set.

    Reference:

    D. L. Davies, D. W. Bouldin
    A Cluster Separation Measure
    IEEE Transactions Pattern Analysis and Machine Intelligence 1(2)

    Since:
    0.7.0
    Author:
    Stephan Baier
    • Field Detail

      • LOG

        private static final Logging LOG
        Logger for debug output.
      • noiseOption

        private NoiseHandling noiseOption
        Option for noise handling.
      • p

        private double p
        Exponent p for computing the power mean.
      • key

        private java.lang.String key
        Key for logging statistics.
    • Constructor Detail

      • DaviesBouldinIndex

        public DaviesBouldinIndex​(NumberVectorDistance<?> distance,
                                  NoiseHandling noiseOpt,
                                  double p)
        Constructor.
        Parameters:
        distance - Distance function
        noiseOpt - Flag to control noise handling
        p - Power mean exponent p
    • Method Detail

      • evaluateClustering

        public double evaluateClustering​(Relation<? extends NumberVector> rel,
                                         Clustering<?> c)
        Evaluate a single clustering.
        Parameters:
        rel - Data relation
        c - Clustering
        Returns:
        DB-index
      • processNewResult

        public void processNewResult​(java.lang.Object result)
        Description copied from interface: ResultProcessor
        Process a result.
        Specified by:
        processNewResult in interface ResultProcessor
        Parameters:
        result - Newly added result subtree.