Linear Regression¶
Single Parameter¶
-
class
touvlo.lin_rg.
AbstractLinearRegression
(theta=None)[source]¶ Represents the definitons common to all Linear Regressions.
Parameters: theta (numpy.array) – Column vector of model’s parameters. Defaults to None -
theta
¶ Column vector of model’s parameters.
Type: numpy.array
-
fit
(X, y, strategy='BGD', alpha=0.1, num_iters=100, **kwargs)[source]¶ Adjusts model parameters to training data.
Parameters: - X (numpy.array) – Features’ dataset.
- y (numpy.array) – Column vector of expected values.
- strategy (str) –
Which optimization strategy should be employed:
- ’BGD’: Performs Batch Gradient Descent
- ’SGD’: Performs Stochastic Gradient Descent
- ’MBGD’: Performs Mini-Batch Gradient Descent
- ’normal_equation’: Employs Normal Equation
- alpha (float) – Learning rate or _step size of the optimization.
- num_iters (int) – Number of times the optimization will be performed.
Returns: None
-
-
class
touvlo.lin_rg.
LinearRegression
(theta=None)[source]¶ Represents an Unregularized Linear Regression model
Parameters: theta (numpy.array) – Column vector of model’s parameters. Defaults to None -
theta
¶ Column vector of model’s parameters.
Type: numpy.array
-
-
class
touvlo.lin_rg.
RidgeLinearRegression
(theta=None, _lambda=0)[source]¶ Represents a Ridge Linear Regression model
Parameters: - theta (numpy.array) – Column vector of model’s parameters. Defaults to None
- _lambda (float) – The regularization hyperparameter.
-
theta
¶ Column vector of model’s parameters.
Type: numpy.array
-
touvlo.lin_rg.
cost_func
(X, y, theta)[source]¶ Computes the cost function J for Linear Regression.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- y (numpy.array) – Column vector of expected values.
- theta (numpy.array) – Column vector of model’s parameters.
Returns: Computed cost.
Return type:
-
touvlo.lin_rg.
grad
(X, y, theta)[source]¶ Computes the gradient for Linear Regression.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- y (numpy.array) – Column vector of expected values.
- theta (numpy.array) – Column vector of model’s parameters.
Returns: Gradient column vector.
Return type: numpy.array
-
touvlo.lin_rg.
h
(X, theta)[source]¶ Linear regression hypothesis.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- theta (numpy.array) – Column vector of model’s parameters.
Returns: The projected value for each line of the dataset.
Return type: numpy.array
-
touvlo.lin_rg.
normal_eqn
(X, y)[source]¶ Produces optimal theta via normal equation.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- y (numpy.array) – Column vector of expected values.
Raises: LinAlgError
Returns: Optimized model parameters theta.
Return type: numpy.array
-
touvlo.lin_rg.
predict
(X, theta)[source]¶ Computes prediction vector.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- theta (numpy.array) – Column vector of model’s parameters.
Returns: vector with predictions for each input line.
Return type: numpy.array
-
touvlo.lin_rg.
reg_cost_func
(X, y, theta, _lambda)[source]¶ Computes the regularized cost function J for Linear Regression.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- y (numpy.array) – Column vector of expected values.
- theta (numpy.array) – Column vector of model’s parameters.
- _lambda (float) – The regularization hyperparameter.
Returns: Computed cost with regularization.
Return type:
-
touvlo.lin_rg.
reg_grad
(X, y, theta, _lambda)[source]¶ Computes the regularized gradient for Linear Regression.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- y (numpy.array) – Column vector of expected values.
- theta (numpy.array) – Column vector of model’s parameters.
- _lambda (float) – The regularization hyperparameter.
Returns: Regularized gradient column vector.
Return type: numpy.array
-
touvlo.lin_rg.
reg_normal_eqn
(X, y, _lambda)[source]¶ Produces optimal theta via normal equation.
Parameters: - X (numpy.array) – Features’ dataset plus bias column.
- y (numpy.array) – Column vector of expected values.
- _lambda (float) – The regularization hyperparameter.
Returns: Optimized model parameters theta.
Return type: numpy.array