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.

## ◆ LinearRegression() [1/4]

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

Creates the model.

Parameters
 predictors X, matrix of data points to create B with. responses y, 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
 filename the name of the file to load the model from.

## ◆ LinearRegression() [3/4]

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

Copy constructor.

Parameters
 linearRegression the 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().

## ◆ 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

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.

Parameters
 predictors Matrix of predictors (X). responses Vector 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
 points the data points to calculate with. predictions y, will contain calculated values on completion.

Referenced by LinearRegression().

## ◆ ToString()

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

Referenced by Lambda().

## ◆ 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: