12 #ifndef MLPACK_CORE_CV_METRICS_RECALL_IMPL_HPP 13 #define MLPACK_CORE_CV_METRICS_RECALL_IMPL_HPP 21 template<
typename MLAlgorithm,
typename DataType>
24 const arma::Row<size_t>& labels)
26 return Evaluate<AS>(model, data, labels);
30 template<AverageStrategy _AS,
typename MLAlgorithm,
typename DataType,
typename>
33 const arma::Row<size_t>& labels)
35 util::CheckSameSizes(data, labels,
"Recall<Binary>::Evaluate()");
37 arma::Row<size_t> predictedLabels;
38 model.Classify(data, predictedLabels);
40 size_t tp = arma::sum((labels == PC) % (predictedLabels == PC));
41 size_t numberOfPositiveClassInstances = arma::sum(labels == PC);
43 return double(tp) / numberOfPositiveClassInstances;
47 template<
AverageStrategy _AS,
typename MLAlgorithm,
typename DataType,
typename,
51 const arma::Row<size_t>& labels)
53 util::CheckSameSizes(data, labels,
"Recall<Micro>::Evaluate()");
60 template<
AverageStrategy _AS,
typename MLAlgorithm,
typename DataType,
typename,
64 const arma::Row<size_t>& labels)
66 util::CheckSameSizes(data, labels,
"Recall<Macro>::Evaluate()");
68 arma::Row<size_t> predictedLabels;
69 model.Classify(data, predictedLabels);
71 size_t numClasses = arma::max(labels) + 1;
73 arma::vec recalls = arma::vec(numClasses);
74 for (
size_t c = 0; c < numClasses; ++c)
76 size_t tp = arma::sum((labels == c) % (predictedLabels == c));
77 size_t positiveLabels = arma::sum(labels == c);
78 recalls(c) = double(tp) / positiveLabels;
81 return arma::mean(recalls);
Linear algebra utility functions, generally performed on matrices or vectors.
Definition: cv.hpp:1
static double Evaluate(MLAlgorithm &model, const DataType &data, const arma::Row< size_t > &labels)
Run classification and calculate accuracy.
Definition: accuracy_impl.hpp:19
static double Evaluate(MLAlgorithm &model, const DataType &data, const arma::Row< size_t > &labels)
Run classification and calculate recall.
Definition: recall_impl.hpp:22
AverageStrategy
This enum declares possible strategies for averaging that can be used in some metrics like precision...
Definition: average_strategy.hpp:25