pub struct ElasticNetRegularization {
pub alpha: Float,
pub l1_ratio: Float,
}Expand description
Elastic Net regularization: α * (ρ * ||w||₁ + (1-ρ)/2 * ||w||²₂)
Fields§
§alpha: FloatTotal regularization strength
l1_ratio: FloatL1 ratio (ρ): 0 = Ridge, 1 = Lasso
Implementations§
Trait Implementations§
Source§impl Clone for ElasticNetRegularization
impl Clone for ElasticNetRegularization
Source§fn clone(&self) -> ElasticNetRegularization
fn clone(&self) -> ElasticNetRegularization
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ElasticNetRegularization
impl Debug for ElasticNetRegularization
Source§impl Regularization for ElasticNetRegularization
impl Regularization for ElasticNetRegularization
Source§fn penalty(&self, coefficients: &Array1<Float>) -> Result<Float>
fn penalty(&self, coefficients: &Array1<Float>) -> Result<Float>
Compute the regularization penalty value
Source§fn penalty_gradient(
&self,
coefficients: &Array1<Float>,
) -> Result<Array1<Float>>
fn penalty_gradient( &self, coefficients: &Array1<Float>, ) -> Result<Array1<Float>>
Compute the regularization gradient (subgradient for non-smooth penalties)
Source§fn proximal_operator(
&self,
coefficients: &Array1<Float>,
step_size: Float,
) -> Result<Array1<Float>>
fn proximal_operator( &self, coefficients: &Array1<Float>, step_size: Float, ) -> Result<Array1<Float>>
Apply the proximal operator (for proximal gradient methods)
Source§fn is_non_smooth(&self) -> bool
fn is_non_smooth(&self) -> bool
Check if this regularization is non-smooth (requires proximal methods)
Auto Trait Implementations§
impl Freeze for ElasticNetRegularization
impl RefUnwindSafe for ElasticNetRegularization
impl Send for ElasticNetRegularization
impl Sync for ElasticNetRegularization
impl Unpin for ElasticNetRegularization
impl UnwindSafe for ElasticNetRegularization
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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