mojolearn.RidgeCV#
- class mojolearn.RidgeCV(alphas=(0.1, 1.0, 10.0), *, fit_intercept=True, scoring=None, cv=None, gcv_mode=None, store_cv_results=False, alpha_per_target=False)[source]#
Bases:
_LinearRegressorMixin,NumericModeMixinRidge regression with built-in selection of
alpha.Follows scikit-learn’s RidgeCV. With
cv=Nonethe alpha is chosen by efficient leave-one-out cross-validation; withcv=k(an int) by unshuffled K-fold cross-validation scored by R^2, after which the model is refit on all rows with the best alpha (the first one on a tie). Cross-validation objects forcv,scoring,alpha_per_targetand a 2-Dyare not supported.- Parameters:
alphas (sequence of float, default (0.1, 1.0, 10.0)) – Candidate regularization strengths; all must be > 0.
fit_intercept (bool, default True) – Whether to fit an intercept.
scoring (None, default None) – Only None is supported; anything else raises ValueError.
cv (int or None, default None) – None for leave-one-out, or the number of folds (2 to n_samples).
gcv_mode (str or None, default None) – Accepted for compatibility; ignored.
store_cv_results (bool, default False) – Store
cv_results_; only withcv=None.alpha_per_target (bool, default False) – Only False is supported; True raises ValueError.
numeric_mode (str or None, default None) – Numeric mode for this model (
'identical','deterministic'or'fast', which runs on Apple GPUs only); None uses the process default (seemojolearn.set_numeric_mode()).
- Variables:
alpha_ (float) – Selected alpha.
best_score_ (float) – Score of the selected alpha: minus its mean squared leave-one-out error with
cv=None, its mean K-fold R^2 withcv=k.coef_ (float32 array of shape (n_features,)) – Weights.
intercept_ (float) – Intercept.
cv_results_ (float32 array of shape (n_alphas,)) – Mean squared leave-one-out error of each alpha, when
store_cv_results=True(scikit-learn stores the per-sample errors).n_features_in_ (int) – Number of features seen in
fit.
Examples
>>> import numpy as np, mojolearn >>> rng = np.random.default_rng(0) >>> X = rng.random((1000, 8), dtype=np.float32) >>> y = X @ np.arange(8, dtype=np.float32) >>> model = mojolearn.RidgeCV(alphas=(0.01, 0.1, 1.0)).fit(X, y) >>> model.alpha_
- __init__(alphas=(0.1, 1.0, 10.0), *, fit_intercept=True, scoring=None, cv=None, gcv_mode=None, store_cv_results=False, alpha_per_target=False)[source]#
Methods
fit(X, y[, sample_weight])Fit the model and select
alpha.get_params([deep])numeric_mode_used()The numeric mode this estimator runs in.
predict(X)Predict targets for
X.score(X, y)Coefficient of determination R^2 of
predict(X)againsty.set_params(**params)Set constructor parameters.
vendor_used()The GPU backend this estimator runs on.
- fit(X, y, sample_weight=None)[source]#
Fit the model and select
alpha.- Parameters:
X (array-like of shape (n_samples, n_features)) – Training data, converted to float32; values must be finite.
y (array-like of shape (n_samples,)) – Targets (1-D).
sample_weight (array-like of shape (n_samples,) or float, optional) – Non-negative weights with a positive sum; only with
cv=None.
- Returns:
self (RidgeCV) – The fitted model.
- Raises:
ValueError – On an unsupported option, a non-positive alpha, an invalid
cv,sample_weightorstore_cv_resultswithcvset, or whenX'X + alpha Icannot be factored.