jsat.classifiers.evaluation
Class BalancedAccuracy
- java.lang.Object
-
- jsat.classifiers.evaluation.BalancedAccuracy
-
- All Implemented Interfaces:
- java.io.Serializable, ClassificationScore
public class BalancedAccuracy extends java.lang.Object implements ClassificationScore
This class implements the Balanced Accuracy metric. If the number of test points has an equal total weight for each class, then Balanced Accuracy returns the same result asAccuracy. If not, this class will re-scale the importance of errors in each class and return an accuracy score as if each class had equal total weight. That is to say, it evaluates the data as if it was balanced.
See: Brodersen, K. H., Ong, C. S., Stephan, K. E., & Buhmann, J. M. (2010). The Balanced Accuracy and Its Posterior Distribution. In Proceedings of the 2010 20th International Conference on Pattern Recognition (pp. 3121–3124). Washington, DC, USA: IEEE Computer Society. http://doi.org/10.1109/ICPR.2010.764- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description BalancedAccuracy()BalancedAccuracy(BalancedAccuracy toClone)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description voidaddResult(CategoricalResults prediction, int trueLabel, double weight)Adds the given result to the scorevoidaddResults(ClassificationScore other)The score contained in this object is augmented with the results already accumulated in theotherobject.BalancedAccuracyclone()booleanequals(java.lang.Object obj)java.lang.StringgetName()Returns the name to present for this scoredoublegetScore()Computes the score for the results that have been enrolled viaClassificationScore.addResult(jsat.classifiers.CategoricalResults, int, double)inthashCode()booleanlowerIsBetter()Returnstrueif a lower score is better, orfalseif a higher score is bettervoidprepare(CategoricalData toPredict)Prepares this score to predict on the given input
-
-
-
Constructor Detail
-
BalancedAccuracy
public BalancedAccuracy()
-
BalancedAccuracy
public BalancedAccuracy(BalancedAccuracy toClone)
-
-
Method Detail
-
getScore
public double getScore()
Description copied from interface:ClassificationScoreComputes the score for the results that have been enrolled viaClassificationScore.addResult(jsat.classifiers.CategoricalResults, int, double)- Specified by:
getScorein interfaceClassificationScore- Returns:
- the score for the current results
-
lowerIsBetter
public boolean lowerIsBetter()
Description copied from interface:ClassificationScoreReturnstrueif a lower score is better, orfalseif a higher score is better- Specified by:
lowerIsBetterin interfaceClassificationScore- Returns:
trueif a lower score is better
-
clone
public BalancedAccuracy clone()
- Specified by:
clonein interfaceClassificationScore- Overrides:
clonein classjava.lang.Object
-
getName
public java.lang.String getName()
Description copied from interface:ClassificationScoreReturns the name to present for this score- Specified by:
getNamein interfaceClassificationScore- Returns:
- the score name
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfaceClassificationScore- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfaceClassificationScore- Overrides:
equalsin classjava.lang.Object
-
prepare
public void prepare(CategoricalData toPredict)
Description copied from interface:ClassificationScorePrepares this score to predict on the given input- Specified by:
preparein interfaceClassificationScore- Parameters:
toPredict- the class label information that will be evaluated
-
addResult
public void addResult(CategoricalResults prediction, int trueLabel, double weight)
Description copied from interface:ClassificationScoreAdds the given result to the score- Specified by:
addResultin interfaceClassificationScore- Parameters:
prediction- the prediction for the data pointtrueLabel- the true label for the data pointweight- the weigh to assign to the data point
-
addResults
public void addResults(ClassificationScore other)
Description copied from interface:ClassificationScoreThe score contained in this object is augmented with the results already accumulated in theotherobject. This does not result in an averaging, but alters the current object to have the same score it would have had if all the results were originally inserted into this object.
This method is only required to work ifotherif of the same class asthisobject.- Specified by:
addResultsin interfaceClassificationScore- Parameters:
other- the object to add the results from
-
-
DataMelt 3.0 © DataMelt by jWork.ORG