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 voidaddPrediction(NominalPrediction pred)Includes a prediction in the confusion matrix.voidaddPredictions(FastVector predictions)Includes a whole bunch of predictions in the confusion matrix.java.lang.StringclassName(int index)Gets the name of one of the classes.java.lang.Objectclone()Creates and returns a clone of this object.doublecorrect()Gets the number of correct classifications (that is, for which a correct prediction was made).doubleerrorRate()Returns the estimated error rate.java.lang.StringgetRevision()Returns the revision string.TwoClassStatsgetTwoClassStats(int classIndex)Gets the performance with respect to one of the classes as a TwoClassStats object.doubleincorrect()Gets the number of incorrect classifications (that is, for which an incorrect prediction was made).ConfusionMatrixmakeWeighted(CostMatrix costs)Makes a copy of this ConfusionMatrix after applying the supplied CostMatrix to the cells.intsize()Gets the number of classes.java.lang.StringtoString()Calls toString() with a default title.java.lang.StringtoString(java.lang.String title)Outputs the performance statistics as a classification confusion matrix.doubletotal()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:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classMatrix- Returns:
- the revision
-
-