weka.classifiers.evaluation
Class TwoClassStats

java.lang.Object
  extended byweka.classifiers.evaluation.TwoClassStats

public class TwoClassStats
extends java.lang.Object

Encapsulates performance functions for two-class problems.

Version:
$Revision: 1.7 $
Author:
Len Trigg (len@reeltwo.com)

Field Summary
private static java.lang.String[] CATEGORY_NAMES
          The names used when converting this object to a confusion matrix
private  double m_FalseNeg
          Pos predicted as neg
private  double m_FalsePos
          Neg predicted as pos
private  double m_TrueNeg
          Neg predicted as neg
private  double m_TruePos
          Pos predicted as pos
 
Constructor Summary
TwoClassStats(double tp, double fp, double tn, double fn)
          Creates the TwoClassStats with the given initial performance values.
 
Method Summary
 ConfusionMatrix getConfusionMatrix()
          Generates a ConfusionMatrix representing the current two-class statistics, using class names "negative" and "positive".
 double getFallout()
          Calculate the fallout.
 double getFalseNegative()
          Gets the number of positive instances predicted as negative
 double getFalsePositive()
          Gets the number of negative instances predicted as positive
 double getFalsePositiveRate()
          Calculate the false positive rate.
 double getFMeasure()
          Calculate the F-Measure.
 double getPrecision()
          Calculate the precision.
 double getRecall()
          Calculate the recall.
 double getTrueNegative()
          Gets the number of negative instances predicted as negative
 double getTruePositive()
          Gets the number of positive instances predicted as positive
 double getTruePositiveRate()
          Calculate the true positive rate.
 void setFalseNegative(double fn)
          Sets the number of positive instances predicted as negative
 void setFalsePositive(double fp)
          Sets the number of negative instances predicted as positive
 void setTrueNegative(double tn)
          Sets the number of negative instances predicted as negative
 void setTruePositive(double tp)
          Sets the number of positive instances predicted as positive
 java.lang.String toString()
          Returns a string containing the various performance measures for the current object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CATEGORY_NAMES

private static final java.lang.String[] CATEGORY_NAMES
The names used when converting this object to a confusion matrix


m_TruePos

private double m_TruePos
Pos predicted as pos


m_FalsePos

private double m_FalsePos
Neg predicted as pos


m_TrueNeg

private double m_TrueNeg
Neg predicted as neg


m_FalseNeg

private double m_FalseNeg
Pos predicted as neg

Constructor Detail

TwoClassStats

public TwoClassStats(double tp,
                     double fp,
                     double tn,
                     double fn)
Creates the TwoClassStats with the given initial performance values.

Parameters:
tp - the number of correctly classified positives
fp - the number of incorrectly classified negatives
tn - the number of correctly classified negatives
fn - the number of incorrectly classified positives
Method Detail

setTruePositive

public void setTruePositive(double tp)
Sets the number of positive instances predicted as positive


setFalsePositive

public void setFalsePositive(double fp)
Sets the number of negative instances predicted as positive


setTrueNegative

public void setTrueNegative(double tn)
Sets the number of negative instances predicted as negative


setFalseNegative

public void setFalseNegative(double fn)
Sets the number of positive instances predicted as negative


getTruePositive

public double getTruePositive()
Gets the number of positive instances predicted as positive


getFalsePositive

public double getFalsePositive()
Gets the number of negative instances predicted as positive


getTrueNegative

public double getTrueNegative()
Gets the number of negative instances predicted as negative


getFalseNegative

public double getFalseNegative()
Gets the number of positive instances predicted as negative


getTruePositiveRate

public double getTruePositiveRate()
Calculate the true positive rate. This is defined as

 correctly classified positives
 ------------------------------
       total positives
 

Returns:
the true positive rate

getFalsePositiveRate

public double getFalsePositiveRate()
Calculate the false positive rate. This is defined as

 incorrectly classified negatives
 --------------------------------
        total negatives
 

Returns:
the false positive rate

getPrecision

public double getPrecision()
Calculate the precision. This is defined as

 correctly classified positives
 ------------------------------
  total predicted as positive
 

Returns:
the precision

getRecall

public double getRecall()
Calculate the recall. This is defined as

 correctly classified positives
 ------------------------------
       total positives
 

(Which is also the same as the truePositiveRate.)

Returns:
the recall

getFMeasure

public double getFMeasure()
Calculate the F-Measure. This is defined as

 2 * recall * precision
 ----------------------
   recall + precision
 

Returns:
the F-Measure

getFallout

public double getFallout()
Calculate the fallout. This is defined as

 incorrectly classified negatives
 --------------------------------
   total predicted as positive
 

Returns:
the fallout

getConfusionMatrix

public ConfusionMatrix getConfusionMatrix()
Generates a ConfusionMatrix representing the current two-class statistics, using class names "negative" and "positive".

Returns:
a ConfusionMatrix.

toString

public java.lang.String toString()
Returns a string containing the various performance measures for the current object