pub struct RidgeClassifierCV<F> {
pub alphas: Vec<F>,
pub fit_intercept: bool,
pub store_cv_results: bool,
}Expand description
Ridge classifier with built-in cross-validated alpha selection.
Selects a single shared regularization strength alpha from a candidate
grid by leave-one-out Generalized Cross-Validation over the binarized
indicator targets, then refits a multi-output Ridge at the chosen alpha.
Mirrors scikit-learn’s RidgeClassifierCV (sklearn/linear_model/_ridge.py:2676).
§Type Parameters
F: The floating-point type (f32orf64).
Fields§
§alphas: Vec<F>Candidate regularization strengths to evaluate (sklearn alphas,
default (0.1, 1.0, 10.0), _ridge.py:2688).
fit_intercept: boolWhether to fit an intercept (bias) term (sklearn fit_intercept,
default True, _ridge.py:2698).
store_cv_results: boolWhether to retain the per-sample cross-validation results
(cv_results_). Mirrors sklearn store_cv_results (documented default
False, _ridge.py:2547/:2727; the ctor sentinel None resolves to
False, _ridge.py:2349-2350). When true, the fitted model exposes the
per-sample-per-target-per-alpha squared leave-one-out errors via
FittedRidgeClassifierCV::cv_results.
Implementations§
Source§impl<F: Float + FromPrimitive> RidgeClassifierCV<F>
impl<F: Float + FromPrimitive> RidgeClassifierCV<F>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new RidgeClassifierCV with default settings.
Defaults: alphas = [0.1, 1.0, 10.0] and fit_intercept = true,
mirroring sklearn’s ctor defaults (sklearn/linear_model/_ridge.py:2688,
:2698).
Sourcepub fn with_alphas(self, alphas: Vec<F>) -> Self
pub fn with_alphas(self, alphas: Vec<F>) -> Self
Set the candidate regularization strengths (sklearn alphas,
_ridge.py:2688).
Each value must be non-negative.
Sourcepub fn with_fit_intercept(self, fit_intercept: bool) -> Self
pub fn with_fit_intercept(self, fit_intercept: bool) -> Self
Set whether to fit an intercept term (sklearn fit_intercept,
_ridge.py:2698).
Sourcepub fn with_store_cv_results(self, store_cv_results: bool) -> Self
pub fn with_store_cv_results(self, store_cv_results: bool) -> Self
Set whether to retain the cross-validation results (sklearn
store_cv_results, default False, _ridge.py:2547/:2727).
When true, the fitted model’s FittedRidgeClassifierCV::cv_results
returns the per-sample-per-target-per-alpha squared leave-one-out errors;
when false (the default) it returns None.
Trait Implementations§
Source§impl<F: Clone> Clone for RidgeClassifierCV<F>
impl<F: Clone> Clone for RidgeClassifierCV<F>
Source§fn clone(&self) -> RidgeClassifierCV<F>
fn clone(&self) -> RidgeClassifierCV<F>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<F: Debug> Debug for RidgeClassifierCV<F>
impl<F: Debug> Debug for RidgeClassifierCV<F>
Source§impl<F: Float + FromPrimitive> Default for RidgeClassifierCV<F>
impl<F: Float + FromPrimitive> Default for RidgeClassifierCV<F>
Source§impl<F: Float + Send + Sync + ScalarOperand + FromPrimitive + LinalgFloat + 'static> Fit<ArrayBase<OwnedRepr<F>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<usize>, Dim<[usize; 1]>>> for RidgeClassifierCV<F>
impl<F: Float + Send + Sync + ScalarOperand + FromPrimitive + LinalgFloat + 'static> Fit<ArrayBase<OwnedRepr<F>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<usize>, Dim<[usize; 1]>>> for RidgeClassifierCV<F>
Source§fn fit(
&self,
x: &Array2<F>,
y: &Array1<usize>,
) -> Result<FittedRidgeClassifierCV<F>, FerroError>
fn fit( &self, x: &Array2<F>, y: &Array1<usize>, ) -> Result<FittedRidgeClassifierCV<F>, FerroError>
Fit the RidgeClassifierCV model.
Binarizes y into a {-1, +1} indicator matrix (binary → single
column, multiclass → one-hot), selects a single shared alpha by
leave-one-out Generalized Cross-Validation over that multi-target
problem (mirroring sklearn’s _RidgeGCV path on the binarized Y,
_ridge.py:2876-2881; scoring=None → -squared_errors.mean(),
_ridge.py:2148-2150/:2211-2218), then refits a multi-output Ridge at
the chosen alpha.
§Errors
FerroError::ShapeMismatchifxandyhave different numbers of samples.FerroError::InvalidParameterifxcontains a non-finite value (NaN/±Inf), or ifalphasis empty or contains a non-positive value (alpha <= 0; the GCV path is undefined atalpha = 0).FerroError::InsufficientSamplesif there are no samples or fewer than two distinct classes.
Source§type Fitted = FittedRidgeClassifierCV<F>
type Fitted = FittedRidgeClassifierCV<F>
fit.Source§type Error = FerroError
type Error = FerroError
fit.Auto Trait Implementations§
impl<F> Freeze for RidgeClassifierCV<F>
impl<F> RefUnwindSafe for RidgeClassifierCV<F>where
F: RefUnwindSafe,
impl<F> Send for RidgeClassifierCV<F>where
F: Send,
impl<F> Sync for RidgeClassifierCV<F>where
F: Sync,
impl<F> Unpin for RidgeClassifierCV<F>where
F: Unpin,
impl<F> UnsafeUnpin for RidgeClassifierCV<F>
impl<F> UnwindSafe for RidgeClassifierCV<F>where
F: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more