from sklearn.linear_model import LinearRegression as SKLinearRegression
from evalml.model_types import ModelTypes
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_type = ModelTypes.LINEAR_MODEL
    problem_types = [ProblemTypes.REGRESSION]
[docs]    def __init__(self, fit_intercept=True, normalize=False, n_jobs=-1):
        parameters = {
            'fit_intercept': fit_intercept,
            'normalize': normalize
        }
        linear_regressor = SKLinearRegression(fit_intercept=fit_intercept,
                                              normalize=normalize,
                                              n_jobs=n_jobs)
        super().__init__(parameters=parameters,
                         component_obj=linear_regressor,
                         random_state=0) 
    @property
    def feature_importances(self):
        return self._component_obj.coef_