LinearRegression

class getml.predictors.LinearRegression(learning_rate=0.9, reg_lambda=1e-10)

Bases: getml.predictors._Predictor

Simple predictor for regression problems.

Learns a simple linear relationship using ordinary least squares (OLS) regression:

\hat{y} = w_0 + w_1 * feature_1 + w_2 * feature_2 + ...

The weights are optimized by minimizing the squared loss of the predictions \hat{y} w.r.t. the targets y.

L(y,\hat{y}) = \frac{1}{n} \sum_{i=1}^{n} (y_i -\hat{y}_i)^2

Linear regressions can be trained arithmetically or numerically. Training arithmetically is more accurate, but suffers worse scalability.

If you decide to pass categorical features to the LinearRegression, it will be trained numerically. Otherwise, it will be trained arithmetically.

Parameters
  • learning_rate (float, optional) – The learning rate used for training numerically (only relevant when categorical features are included). Range: (0, \infty]

  • reg_lambda (float, optional) – L2 regularization parameter. Range: [0, \infty]

Raises

TypeError – If any of the input arguments does not match its expected type.

Methods Summary

validate([params])

Checks both the types and the values of all instance variables and raises an exception if something is off.

Methods Documentation

validate(params=None)

Checks both the types and the values of all instance variables and raises an exception if something is off.

Parameters

params (dict, optional) – A dictionary containing the parameters to validate. If not is passed, the own parameters will be validated.

Examples

l = getml.predictors.LinearRegression()
l.learning_rate = 8.1
l.validate()
Raises
  • KeyError – If an unsupported instance variable is encountered.

  • TypeError – If any instance variable is of wrong type.

  • ValueError – If any instance variable does not match its possible choices (string) or is out of the expected bounds (numerical).

Note

This method is called at end of the __init__ constructor and every time before the predictor - or a class holding it as an instance variable - is send to the getML engine.