precision.hpp
Go to the documentation of this file.
1 
12 #ifndef MLPACK_CORE_CV_METRICS_PRECISION_HPP
13 #define MLPACK_CORE_CV_METRICS_PRECISION_HPP
14 
15 #include <mlpack/core.hpp>
17 
18 namespace mlpack {
19 namespace cv {
20 
47 template<AverageStrategy AS, size_t PositiveClass = 1>
48 class Precision
49 {
50  public:
58  template<typename MLAlgorithm, typename DataType>
59  static double Evaluate(MLAlgorithm& model,
60  const DataType& data,
61  const arma::Row<size_t>& labels);
62 
67  static const bool NeedsMinimization = false;
68 
69  private:
73  template<AverageStrategy _AS,
74  typename MLAlgorithm,
75  typename DataType,
77  static double Evaluate(MLAlgorithm& model,
78  const DataType& data,
79  const arma::Row<size_t>& labels);
80 
84  template<AverageStrategy _AS,
85  typename MLAlgorithm,
86  typename DataType,
88  typename = void>
89  static double Evaluate(MLAlgorithm& model,
90  const DataType& data,
91  const arma::Row<size_t>& labels);
92 
96  template<AverageStrategy _AS,
97  typename MLAlgorithm,
98  typename DataType,
100  typename = void,
101  typename = void>
102  static double Evaluate(MLAlgorithm& model,
103  const DataType& data,
104  const arma::Row<size_t>& labels);
105 };
106 
107 } // namespace cv
108 } // namespace mlpack
109 
110 // Include implementation.
111 #include "precision_impl.hpp"
112 
113 #endif
Precision is a metric of performance for classification algorithms that for binary classification is ...
Definition: precision.hpp:48
typename enable_if< B, T >::type enable_if_t
Definition: prereqs.hpp:70
Linear algebra utility functions, generally performed on matrices or vectors.
static double Evaluate(MLAlgorithm &model, const DataType &data, const arma::Row< size_t > &labels)
Run classification and calculate precision.
static const bool NeedsMinimization
Information for hyper-parameter tuning code.
Definition: precision.hpp:67
Include all of the base components required to write mlpack methods, and the main mlpack Doxygen docu...
AverageStrategy
This enum declares possible strategies for averaging that can be used in some metrics like precision...