Package weka.classifiers.evaluation
Class ConfusionMatrix
- java.lang.Object
-
- weka.core.Matrix
-
- weka.classifiers.evaluation.ConfusionMatrix
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.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: 1.9 $
- Author:
- Len Trigg (len@reeltwo.com)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ConfusionMatrix(java.lang.String[] classNames)
Creates the confusion matrix with the given class names.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addPrediction(NominalPrediction pred)
Includes a prediction in the confusion matrix.void
addPredictions(FastVector predictions)
Includes a whole bunch of predictions in the confusion matrix.java.lang.String
className(int index)
Gets the name of one of the classes.java.lang.Object
clone()
Creates and returns a clone of this object.double
correct()
Gets the number of correct classifications (that is, for which a correct prediction was made).double
errorRate()
Returns the estimated error rate.java.lang.String
getRevision()
Returns the revision string.TwoClassStats
getTwoClassStats(int classIndex)
Gets the performance with respect to one of the classes as a TwoClassStats object.double
incorrect()
Gets the number of incorrect classifications (that is, for which an incorrect prediction was made).ConfusionMatrix
makeWeighted(CostMatrix costs)
Makes a copy of this ConfusionMatrix after applying the supplied CostMatrix to the cells.int
size()
Gets the number of classes.java.lang.String
toString()
Calls toString() with a default title.java.lang.String
toString(java.lang.String title)
Outputs the performance statistics as a classification confusion matrix.double
total()
Gets the number of predictions that were made (actually the sum of the weights of predictions where the class value was known).-
Methods inherited from class weka.core.Matrix
add, addElement, eigenvalueDecomposition, getColumn, getElement, getL, getRow, getU, isSymmetric, LUDecomposition, main, multiply, numColumns, numRows, parseMatlab, regression, regression, setColumn, setElement, setRow, solve, toMatlab, transpose, write
-
-
-
-
Method Detail
-
makeWeighted
public ConfusionMatrix makeWeighted(CostMatrix costs) throws java.lang.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:
java.lang.Exception
- if the CostMatrix is not of the same size as this ConfusionMatrix.
-
clone
public java.lang.Object clone()
Creates and returns a clone of this object.
-
size
public int size()
Gets the number of classes.- Returns:
- the number of classes
-
className
public java.lang.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 java.lang.Exception
Includes a prediction in the confusion matrix.- Parameters:
pred
- the NominalPrediction to include- Throws:
java.lang.Exception
- if no valid prediction was made (i.e. unclassified).
-
addPredictions
public void addPredictions(FastVector predictions) throws java.lang.Exception
Includes a whole bunch of predictions in the confusion matrix.- Parameters:
predictions
- a FastVector containing the NominalPredictions to include- Throws:
java.lang.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 java.lang.String toString()
Calls toString() with a default title.
-
toString
public java.lang.String toString(java.lang.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 java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in classMatrix
- Returns:
- the revision
-
-