Source code for esmvaltool.diag_scripts.mlr.models.ridge_cv

"""Ridge Regression model with built-in CV.

Use ``mlr_model_type: ridge_cv`` to use this MLR model in the recipe.

"""

import logging
import os

from sklearn.linear_model import RidgeCV

from esmvaltool.diag_scripts.mlr.models import MLRModel
from esmvaltool.diag_scripts.mlr.models.linear_base import LinearModel

logger = logging.getLogger(os.path.basename(__file__))


[docs] @MLRModel.register_mlr_model('ridge_cv') class RidgeCVModel(LinearModel): """Ridge Regression model with built-in CV.""" _CLF_TYPE = RidgeCV
[docs] def fit(self): """Print final ``alpha`` after successful fitting.""" super().fit() logger.info("Optimal alpha of Ridge model: α = %.5f", self._clf.steps[-1][1].regressor_.alpha_)