14 #ifndef MLPACK_METHODS_LOGISTIC_REGRESSION_LOGISTIC_REGRESSION_HPP    15 #define MLPACK_METHODS_LOGISTIC_REGRESSION_LOGISTIC_REGRESSION_HPP    18 #include <ensmallen.hpp>    23 namespace regression {
    38 template<
typename MatType = arma::mat>
    58                      const arma::Row<size_t>& responses,
    59                      const double lambda = 0);
    78                      const arma::Row<size_t>& responses,
    79                      const arma::rowvec& initialPoint,
    80                      const double lambda = 0);
    93                      const double lambda = 0);
   110   template<
typename OptimizerType>
   112                      const arma::Row<size_t>& responses,
   113                      OptimizerType& optimizer,
   114                      const double lambda);
   133   template<
typename OptimizerType = ens::L_BFGS, 
typename... CallbackTypes>
   134   double Train(
const MatType& predictors,
   135                const arma::Row<size_t>& responses,
   136                CallbackTypes&&... callbacks);
   156   template<
typename OptimizerType, 
typename... CallbackTypes>
   157   double Train(
const MatType& predictors,
   158                const arma::Row<size_t>& responses,
   159                OptimizerType& optimizer,
   160                CallbackTypes&&... callbacks);
   163   const arma::rowvec& 
Parameters()
 const { 
return parameters; }
   168   const double& 
Lambda()
 const { 
return lambda; }
   183   template<
typename VecType>
   184   size_t Classify(
const VecType& point,
   185                   const double decisionBoundary = 0.5) 
const;
   198   void Classify(
const MatType& dataset,
   199                 arma::Row<size_t>& labels,
   200                 const double decisionBoundary = 0.5) 
const;
   208   void Classify(
const MatType& dataset,
   209                 arma::mat& probabilities) 
const;
   226                          const arma::Row<size_t>& responses,
   227                          const double decisionBoundary = 0.5) 
const;
   238                       const arma::Row<size_t>& responses) 
const;
   241   template<
typename Archive>
   242   void serialize(Archive& ar, 
const uint32_t );
   246   arma::rowvec parameters;
   255 #include "logistic_regression_impl.hpp"   257 #endif // MLPACK_METHODS_LOGISTIC_REGRESSION_LOGISTIC_REGRESSION_HPP 
void serialize(Archive &ar, const uint32_t)
Serialize the model. 
 
Linear algebra utility functions, generally performed on matrices or vectors. 
 
The core includes that mlpack expects; standard C++ includes and Armadillo. 
 
size_t Classify(const VecType &point, const double decisionBoundary=0.5) const
Classify the given point. 
 
LogisticRegression(const MatType &predictors, const arma::Row< size_t > &responses, const double lambda=0)
Construct the LogisticRegression class with the given labeled training data. 
 
double ComputeAccuracy(const MatType &predictors, const arma::Row< size_t > &responses, const double decisionBoundary=0.5) const
Compute the accuracy of the model on the given predictors and responses, optionally using the given d...
 
arma::rowvec & Parameters()
Modify the parameters (the b vector). 
 
double Train(const MatType &predictors, const arma::Row< size_t > &responses, CallbackTypes &&... callbacks)
Train the LogisticRegression model on the given input data. 
 
double ComputeError(const MatType &predictors, const arma::Row< size_t > &responses) const
Compute the error of the model. 
 
const double & Lambda() const
Return the lambda value for L2-regularization. 
 
double & Lambda()
Modify the lambda value for L2-regularization. 
 
const arma::rowvec & Parameters() const
Return the parameters (the b vector). 
 
The LogisticRegression class implements an L2-regularized logistic regression model, and supports training with multiple optimizers and classification.