Package deepnetts.eval
Class ClassifierEvaluator
java.lang.Object
deepnetts.eval.ClassifierEvaluator
- All Implemented Interfaces:
 javax.visrec.ml.eval.Evaluator<NeuralNetwork,javax.visrec.ml.data.DataSet<? extends MLDataItem>> 
public class ClassifierEvaluator
extends Object
implements javax.visrec.ml.eval.Evaluator<NeuralNetwork,javax.visrec.ml.data.DataSet<? extends MLDataItem>> 
Evaluation method for binary and multi-class classifiers.
 Calculates classification performance metrics, how good is it at predicting class of something.
 http://www.ritchieng.com/machine-learning-evaluate-classification-model/
 http://scikit-learn.org/stable/modules/model_evaluation.html
 http://notesbyanerd.com/2014/12/17/multi-class-performance-measures/
 https://en.wikipedia.org/wiki/Confusion_matrix
 https://stats.stackexchange.com/questions/21551/how-to-compute-precision-recall-for-multiclass-multilabel-classification
 http://scikit-learn.org/stable/modules/model_evaluation.html#confusion-matrix
 Micro and macro averaging: https://datascience.stackexchange.com/questions/15989/micro-average-vs-macro-average-performance-in-a-multiclass-classification-settin
 I'm doing macro
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionevaluate(NeuralNetwork neuralNet, javax.visrec.ml.data.DataSet<? extends MLDataItem> testSet) Performs classifier evaluation and returns classification performance metrics.floatstatic javax.visrec.ml.eval.EvaluationMetricsmacroAverage(Collection<javax.visrec.ml.eval.EvaluationMetrics> metrics) Calculates macro average for the given list of ClassificationMetrics.voidsetThreshold(float threshold) toString() 
- 
Constructor Details
- 
ClassifierEvaluator
public ClassifierEvaluator() 
 - 
 - 
Method Details
- 
evaluate
public ClassificationMetrics evaluate(NeuralNetwork neuralNet, javax.visrec.ml.data.DataSet<? extends MLDataItem> testSet) Performs classifier evaluation and returns classification performance metrics.- Specified by:
 evaluatein interfacejavax.visrec.ml.eval.Evaluator<NeuralNetwork,javax.visrec.ml.data.DataSet<? extends MLDataItem>> - Parameters:
 neuralNet-testSet-- Returns:
 
 - 
getThreshold
public float getThreshold() - 
setThreshold
public void setThreshold(float threshold)  - 
getMacroAverage
 - 
macroAverage
public static javax.visrec.ml.eval.EvaluationMetrics macroAverage(Collection<javax.visrec.ml.eval.EvaluationMetrics> metrics) Calculates macro average for the given list of ClassificationMetrics. Used for multi-class classification. Its suitable for balanced classes, but if not micro averaging is more suitable. Micro averaging is summing confusion matrices for individual classes.- Parameters:
 metrics-- Returns:
 
 - 
getMetricsByClass
 - 
getConfusionMatrix
 - 
toString
 
 -