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.float
static javax.visrec.ml.eval.EvaluationMetrics
macroAverage
(Collection<javax.visrec.ml.eval.EvaluationMetrics> metrics) Calculates macro average for the given list of ClassificationMetrics.void
setThreshold
(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:
evaluate
in 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
-