Class OutlierPrecisionRecallCurve

  • All Implemented Interfaces:
    Evaluator, ResultProcessor

    @Reference(authors="J. Davis and M. Goadrich",
               title="The relationship between Precision-Recall and ROC curves",
               booktitle="Proc. 23rd Int. Conf. Machine Learning (ICML)",
               url="https://doi.org/10.1145/1143844.1143874",
               bibkey="DBLP:conf/icml/DavisG06")
    public class OutlierPrecisionRecallCurve
    extends java.lang.Object
    implements Evaluator
    Compute a curve containing the precision values for an outlier detection method. Unfortunately, there are quite different variations of this curve in use, which is why tools may yield different results:
    • tie handling: on identical scores, many implementations evaluate a random order, or perform linear interpolation; neither of which is proper
    • at a recall of 0, the value is not defined; one could either begin computing the area beginning at a recall of 1 object, or assume that the recall at 0 is the recall at the first object (which appears to be more common)
    References:

    J. Davis and M. Goadrich
    The relationship between Precision-Recall and ROC curves
    Proc. 23rd Int. Conf. Machine Learning (ICML)

    Since:
    0.5.0
    Author:
    Erich Schubert
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static Logging LOG
      The logger.
      private java.util.regex.Pattern positiveClassName
      Matcher for the "positive" class.
      static java.lang.String PRAUC_LABEL
      AUC value for PR curve
    • Constructor Summary

      Constructors 
      Constructor Description
      OutlierPrecisionRecallCurve​(java.util.regex.Pattern positiveClassName)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void processNewResult​(java.lang.Object result)
      Process a result.
      • Methods inherited from class java.lang.Object

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

      • PRAUC_LABEL

        public static final java.lang.String PRAUC_LABEL
        AUC value for PR curve
        See Also:
        Constant Field Values
      • LOG

        private static final Logging LOG
        The logger.
      • positiveClassName

        private java.util.regex.Pattern positiveClassName
        Matcher for the "positive" class.
    • Constructor Detail

      • OutlierPrecisionRecallCurve

        public OutlierPrecisionRecallCurve​(java.util.regex.Pattern positiveClassName)
        Constructor.
        Parameters:
        positiveClassName - Pattern to recognize outliers
    • Method Detail

      • 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.