A simple linear regression algorithm using ordinary least squares. More...
Public Member Functions | |
LinearRegression () | |
Empty constructor. | |
LinearRegression (const LinearRegression &linearRegression) | |
Copy constructor. | |
LinearRegression (const std::string &filename) | |
Initialize the model from a file. | |
LinearRegression (const arma::mat &predictors, const arma::vec &responses, const double lambda=0) | |
Creates the model. | |
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. | |
double & | Lambda () |
Modify the Tikhonov regularization parameter for ridge regression. | |
double | Lambda () const |
Return the Tikhonov regularization parameter for ridge regression. | |
arma::vec & | Parameters () |
Modify the parameters (the b vector). | |
const arma::vec & | Parameters () const |
Return the parameters (the b vector). | |
void | Predict (const arma::mat &points, arma::vec &predictions) const |
Calculate y_i for each data point in points. | |
Private Attributes | |
double | lambda |
The Tikhonov regularization parameter for ridge regression (0 for linear regression). | |
arma::vec | parameters |
The calculated B. |
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.
mlpack::regression::LinearRegression::LinearRegression | ( | const arma::mat & | predictors, | |
const arma::vec & | responses, | |||
const double | lambda = 0 | |||
) |
mlpack::regression::LinearRegression::LinearRegression | ( | const std::string & | filename | ) |
Initialize the model from a file.
filename | the name of the file to load the model from. |
mlpack::regression::LinearRegression::LinearRegression | ( | const LinearRegression & | linearRegression | ) |
Copy constructor.
linearRegression | the other instance to copy parameters from. |
mlpack::regression::LinearRegression::LinearRegression | ( | ) | [inline] |
Empty constructor.
Definition at line 65 of file linear_regression.hpp.
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
where is the responses vector,
is the matrix of predictors, and
is the parameters of the trained linear regression model.
As this number decreases to 0, the linear regression fit is better.
predictors | Matrix of predictors (X). | |
responses | Vector of responses (y). |
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.
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.
arma::vec& mlpack::regression::LinearRegression::Parameters | ( | ) | [inline] |
Modify the parameters (the b vector).
Definition at line 98 of file linear_regression.hpp.
References parameters.
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.
void mlpack::regression::LinearRegression::Predict | ( | const arma::mat & | points, | |
arma::vec & | predictions | |||
) | const |
double mlpack::regression::LinearRegression::lambda [private] |
The Tikhonov regularization parameter for ridge regression (0 for linear regression).
Definition at line 116 of file linear_regression.hpp.
Referenced by Lambda().
arma::vec mlpack::regression::LinearRegression::parameters [private] |
The calculated B.
Initialized and filled by constructor to hold the least squares solution.
Definition at line 110 of file linear_regression.hpp.
Referenced by Parameters().