MLPACK  1.0.10
mlpack::regression::LinearRegression Class Reference

A simple linear regression algorithm using ordinary least squares. More...

Public Member Functions

 LinearRegression (const arma::mat &predictors, const arma::vec &responses, const double lambda=0)
 Creates the model. More...

 
 LinearRegression (const std::string &filename)
 Initialize the model from a file. More...

 
 LinearRegression (const LinearRegression &linearRegression)
 Copy constructor. More...

 
 LinearRegression ()
 Empty constructor. More...

 
double ComputeError (const arma::mat &points, const arma::vec &responses) const
 Calculate the L2 squared error on the given predictors and responses using this linear regression model. More...

 
double Lambda () const
 Return the Tikhonov regularization parameter for ridge regression. More...

 
double & Lambda ()
 Modify the Tikhonov regularization parameter for ridge regression. More...

 
const arma::vec & Parameters () const
 Return the parameters (the b vector). More...

 
arma::vec & Parameters ()
 Modify the parameters (the b vector). More...

 
void Predict (const arma::mat &points, arma::vec &predictions) const
 Calculate y_i for each data point in points. More...

 
std::string ToString () const
 

Private Attributes

double lambda
 The Tikhonov regularization parameter for ridge regression (0 for linear regression). More...

 
arma::vec parameters
 The calculated B. More...

 

Detailed Description

A simple linear regression algorithm using ordinary least squares.

Optionally, this class can perform ridge regression, if the lambda parameter is set to a number greater than zero.

Definition at line 35 of file linear_regression.hpp.

Constructor & Destructor Documentation

◆ LinearRegression() [1/4]

mlpack::regression::LinearRegression::LinearRegression ( const arma::mat &  predictors,
const arma::vec &  responses,
const double  lambda = 0 
)

Creates the model.

Parameters
predictorsX, matrix of data points to create B with.
responsesy, the measured data for each point in X

◆ LinearRegression() [2/4]

mlpack::regression::LinearRegression::LinearRegression ( const std::string &  filename)

Initialize the model from a file.

Parameters
filenamethe name of the file to load the model from.

◆ LinearRegression() [3/4]

mlpack::regression::LinearRegression::LinearRegression ( const LinearRegression linearRegression)

Copy constructor.

Parameters
linearRegressionthe other instance to copy parameters from.

◆ LinearRegression() [4/4]

mlpack::regression::LinearRegression::LinearRegression ( )
inline

Empty constructor.

Definition at line 65 of file linear_regression.hpp.

References ComputeError(), and Predict().

Member Function Documentation

◆ ComputeError()

double mlpack::regression::LinearRegression::ComputeError ( const arma::mat &  points,
const arma::vec &  responses 
) const

Calculate the L2 squared error on the given predictors and responses using this linear regression model.

This calculation returns

\[ (1 / n) * \| y - X B \|^2_2 \]

where $ y $ is the responses vector, $ X $ is the matrix of predictors, and $ B $ is the parameters of the trained linear regression model.

As this number decreases to 0, the linear regression fit is better.

Parameters
predictorsMatrix of predictors (X).
responsesVector of responses (y).

Referenced by LinearRegression().

◆ Lambda() [1/2]

double mlpack::regression::LinearRegression::Lambda ( ) const
inline

Return the Tikhonov regularization parameter for ridge regression.

Definition at line 101 of file linear_regression.hpp.

References lambda.

◆ Lambda() [2/2]

double& mlpack::regression::LinearRegression::Lambda ( )
inline

Modify the Tikhonov regularization parameter for ridge regression.

Definition at line 103 of file linear_regression.hpp.

References lambda, and ToString().

◆ Parameters() [1/2]

const arma::vec& mlpack::regression::LinearRegression::Parameters ( ) const
inline

Return the parameters (the b vector).

Definition at line 96 of file linear_regression.hpp.

References parameters.

◆ Parameters() [2/2]

arma::vec& mlpack::regression::LinearRegression::Parameters ( )
inline

Modify the parameters (the b vector).

Definition at line 98 of file linear_regression.hpp.

References parameters.

◆ Predict()

void mlpack::regression::LinearRegression::Predict ( const arma::mat &  points,
arma::vec &  predictions 
) const

Calculate y_i for each data point in points.

Parameters
pointsthe data points to calculate with.
predictionsy, will contain calculated values on completion.

Referenced by LinearRegression().

◆ ToString()

std::string mlpack::regression::LinearRegression::ToString ( ) const

Referenced by Lambda().

Member Data Documentation

◆ lambda

double mlpack::regression::LinearRegression::lambda
private

The Tikhonov regularization parameter for ridge regression (0 for linear regression).

Definition at line 119 of file linear_regression.hpp.

Referenced by Lambda().

◆ parameters

arma::vec mlpack::regression::LinearRegression::parameters
private

The calculated B.

Initialized and filled by constructor to hold the least squares solution.

Definition at line 113 of file linear_regression.hpp.

Referenced by Parameters().


The documentation for this class was generated from the following file: