logistic_regression.hpp

Go to the documentation of this file.
00001 
00023 #ifndef __MLPACK_METHODS_LOGISTIC_REGRESSION_LOGISTIC_REGRESSION_HPP
00024 #define __MLPACK_METHODS_LOGISTIC_REGRESSION_LOGISTIC_REGRESSION_HPP
00025 
00026 #include <mlpack/core.hpp>
00027 #include <mlpack/core/optimizers/lbfgs/lbfgs.hpp>
00028 
00029 #include "logistic_regression_function.hpp"
00030 
00031 namespace mlpack {
00032 namespace regression {
00033 
00034 template<
00035   template<typename> class OptimizerType = mlpack::optimization::L_BFGS
00036 >
00037 class LogisticRegression
00038 {
00039  public:
00050   LogisticRegression(const arma::mat& predictors,
00051                      const arma::vec& responses,
00052                      const double lambda = 0);
00053 
00065   LogisticRegression(const arma::mat& predictors,
00066                      const arma::vec& responses,
00067                      const arma::mat& initialPoint,
00068                      const double lambda = 0);
00069 
00081   LogisticRegression(OptimizerType<LogisticRegressionFunction>& optimizer);
00082 
00092   LogisticRegression(const arma::vec& parameters, const double lambda = 0);
00093 
00095   const arma::vec& Parameters() const { return parameters; }
00097   arma::vec& Parameters() { return parameters; }
00098 
00100   const double& Lambda() const { return lambda; }
00102   double& Lambda() { return lambda; }
00103 
00115   void Predict(const arma::mat& predictors,
00116                arma::vec& responses,
00117                const double decisionBoundary = 0.5) const;
00118 
00133   double ComputeAccuracy(const arma::mat& predictors,
00134                          const arma::vec& responses,
00135                          const double decisionBoundary = 0.5) const;
00136 
00145   double ComputeError(const arma::mat& predictors,
00146                       const arma::vec& responses) const;
00147 
00148  private:
00150   arma::vec parameters;
00152   double lambda;
00153 };
00154 
00155 }; // namespace regression
00156 }; // namespace mlpack
00157 
00158 // Include implementation.
00159 #include "logistic_regression_impl.hpp"
00160 
00161 #endif // __MLPACK_METHODS_LOGISTIC_REGRESSION_LOGISTIC_REGRESSION_HPP

Generated on 13 Aug 2014 for MLPACK by  doxygen 1.6.1