Class EvaluateClustering

  • All Implemented Interfaces:
    elki.evaluation.Evaluator, elki.result.ResultProcessor

    public class EvaluateClustering
    extends java.lang.Object
    implements elki.evaluation.Evaluator
    Evaluate a clustering result by comparing it to an existing cluster label.
    Since:
    0.4.0
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static elki.logging.Logging LOG
      Logger for debug output.
      private boolean noiseSpecialHandling
      Apply special handling to noise "clusters".
      private ClusteringAlgorithm<?> referencealg
      Reference algorithm.
      private boolean selfPairing
      Use self-pairing in pair-counting measures
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static double evaluateRanking​(elki.evaluation.scores.ScoreEvaluation eval, Cluster<?> clus, elki.database.ids.DoubleDBIDList ranking)
      Evaluate given a cluster (of positive elements) and a scoring list.
      protected void evaluteResult​(elki.database.Database db, Clustering<?> c, Clustering<?> refc)
      Evaluate a clustering result.
      private boolean isReferenceResult​(Clustering<?> t)
      Test if a clustering result is a valid reference result.
      void processNewResult​(java.lang.Object newResult)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        Logger for debug output.
      • noiseSpecialHandling

        private boolean noiseSpecialHandling
        Apply special handling to noise "clusters".
      • selfPairing

        private boolean selfPairing
        Use self-pairing in pair-counting measures
    • Constructor Detail

      • EvaluateClustering

        public EvaluateClustering​(ClusteringAlgorithm<?> referencealg,
                                  boolean noiseSpecialHandling,
                                  boolean selfPairing)
        Constructor.
        Parameters:
        referencealg - Reference clustering
        noiseSpecialHandling - Noise handling flag
        selfPairing - Self-pairing flag
    • Method Detail

      • evaluateRanking

        public static double evaluateRanking​(elki.evaluation.scores.ScoreEvaluation eval,
                                             Cluster<?> clus,
                                             elki.database.ids.DoubleDBIDList ranking)
        Evaluate given a cluster (of positive elements) and a scoring list.
        Parameters:
        eval - Evaluation method
        clus - Cluster object
        ranking - Object ranking
        Returns:
        Score
      • processNewResult

        public void processNewResult​(java.lang.Object newResult)
        Specified by:
        processNewResult in interface elki.result.ResultProcessor
      • evaluteResult

        protected void evaluteResult​(elki.database.Database db,
                                     Clustering<?> c,
                                     Clustering<?> refc)
        Evaluate a clustering result.
        Parameters:
        db - Database
        c - Clustering
        refc - Reference clustering
      • isReferenceResult

        private boolean isReferenceResult​(Clustering<?> t)
        Test if a clustering result is a valid reference result.
        Parameters:
        t - Clustering to test.
        Returns:
        true if it is considered to be a reference result.