Class MarginCurve

java.lang.Object
weka.classifiers.evaluation.MarginCurve
All Implemented Interfaces:
RevisionHandler

public class MarginCurve extends Object implements RevisionHandler
Generates points illustrating the prediction margin. The margin is defined as the difference between the probability predicted for the actual class and the highest probability predicted for the other classes. One hypothesis as to the good performance of boosting algorithms is that they increaes the margins on the training data and this gives better performance on test data.
Version:
$Revision: 15751 $
Author:
Len Trigg (len@reeltwo.com)
  • Constructor Details

    • MarginCurve

      public MarginCurve()
  • Method Details

    • getCurve

      public Instances getCurve(ArrayList<Prediction> predictions)
      Calculates the cumulative margin distribution for the set of predictions, returning the result as a set of Instances. The structure of these Instances is as follows:

      • Margin contains the margin value (which should be plotted as an x-coordinate)
      • Current contains the count of instances with the current margin (plot as y axis)
      • Cumulative contains the count of instances with margin less than or equal to the current margin (plot as y axis)

      Returns:
      datapoints as a set of instances, null if no predictions have been made.
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision