from sklearn.linear_model import LinearRegression as SKLinearRegression
from evalml.model_family import ModelFamily
from evalml.pipelines.components.estimators import Estimator
from evalml.problem_types import ProblemTypes
[docs]class LinearRegressor(Estimator):
"""Linear Regressor."""
name = "Linear Regressor"
hyperparameter_ranges = {
'fit_intercept': [True, False],
'normalize': [True, False]
}
model_family = ModelFamily.LINEAR_MODEL
supported_problem_types = [ProblemTypes.REGRESSION, ProblemTypes.TIME_SERIES_REGRESSION]
[docs] def __init__(self, fit_intercept=True, normalize=False, n_jobs=-1, random_seed=0, **kwargs):
parameters = {
'fit_intercept': fit_intercept,
'normalize': normalize,
'n_jobs': n_jobs
}
parameters.update(kwargs)
linear_regressor = SKLinearRegression(**parameters)
super().__init__(parameters=parameters,
component_obj=linear_regressor,
random_seed=random_seed)
@property
def feature_importance(self):
return self._component_obj.coef_