Class ConfusionMatrix

java.lang.Object
weka.core.matrix.Matrix
weka.classifiers.evaluation.ConfusionMatrix
All Implemented Interfaces:
Serializable, Cloneable, RevisionHandler

public class ConfusionMatrix extends Matrix
Cells of this matrix correspond to counts of the number (or weight) of predictions for each actual value / predicted value combination.
Version:
$Revision: 10169 $
Author:
Len Trigg (len@reeltwo.com)
See Also:
  • Constructor Details

    • ConfusionMatrix

      public ConfusionMatrix(String[] classNames)
      Creates the confusion matrix with the given class names.
      Parameters:
      classNames - an array containing the names the classes.
  • Method Details

    • makeWeighted

      public ConfusionMatrix makeWeighted(CostMatrix costs) throws Exception
      Makes a copy of this ConfusionMatrix after applying the supplied CostMatrix to the cells. The resulting ConfusionMatrix can be used to get cost-weighted statistics.
      Parameters:
      costs - the CostMatrix.
      Returns:
      a ConfusionMatrix that has had costs applied.
      Throws:
      Exception - if the CostMatrix is not of the same size as this ConfusionMatrix.
    • clone

      public Object clone()
      Creates and returns a clone of this object.
      Overrides:
      clone in class Matrix
      Returns:
      a clone of this instance.
    • size

      public int size()
      Gets the number of classes.
      Returns:
      the number of classes
    • className

      public String className(int index)
      Gets the name of one of the classes.
      Parameters:
      index - the index of the class.
      Returns:
      the class name.
    • addPrediction

      public void addPrediction(NominalPrediction pred) throws Exception
      Includes a prediction in the confusion matrix.
      Parameters:
      pred - the NominalPrediction to include
      Throws:
      Exception - if no valid prediction was made (i.e. unclassified).
    • addPredictions

      public void addPredictions(ArrayList<Prediction> predictions) throws Exception
      Includes a whole bunch of predictions in the confusion matrix.
      Parameters:
      predictions - a FastVector containing the NominalPredictions to include
      Throws:
      Exception - if no valid prediction was made (i.e. unclassified).
    • getTwoClassStats

      public TwoClassStats getTwoClassStats(int classIndex)
      Gets the performance with respect to one of the classes as a TwoClassStats object.
      Parameters:
      classIndex - the index of the class of interest.
      Returns:
      the generated TwoClassStats object.
    • correct

      public double correct()
      Gets the number of correct classifications (that is, for which a correct prediction was made). (Actually the sum of the weights of these classifications)
      Returns:
      the number of correct classifications
    • incorrect

      public double incorrect()
      Gets the number of incorrect classifications (that is, for which an incorrect prediction was made). (Actually the sum of the weights of these classifications)
      Returns:
      the number of incorrect classifications
    • total

      public double total()
      Gets the number of predictions that were made (actually the sum of the weights of predictions where the class value was known).
      Returns:
      the number of predictions with known class
    • errorRate

      public double errorRate()
      Returns the estimated error rate.
      Returns:
      the estimated error rate (between 0 and 1).
    • toString

      public String toString()
      Calls toString() with a default title.
      Overrides:
      toString in class Matrix
      Returns:
      the confusion matrix as a string
    • toString

      public String toString(String title)
      Outputs the performance statistics as a classification confusion matrix. For each class value, shows the distribution of predicted class values.
      Parameters:
      title - the title for the confusion matrix
      Returns:
      the confusion matrix as a String
    • getRevision

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