#[non_exhaustive]pub enum RegressionLoss {
SquaredError,
AbsoluteError,
Huber {
alpha: f64,
},
Quantile {
alpha: f64,
},
}Expand description
Loss function for gradient boosting regression.
Controls how pseudo-residuals are computed and how leaf values are determined. Different losses provide different robustness properties.
SquaredError(default): standard MSE loss, optimal for Gaussian noise.AbsoluteError: L1 loss (MAE), more robust to outliers.Huber { alpha }: hybrid of squared and absolute error;alphais the quantile at which the transition occurs (default 0.9).Quantile { alpha }: predicts thealpha-quantile of the conditional distribution (default 0.5 = median).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
SquaredError
Least-squares loss (MSE). Default.
AbsoluteError
Least-absolute-deviation loss (MAE).
Huber
Huber loss — squared error for small residuals, absolute for large.
alpha is the quantile threshold (typically 0.9).
Quantile
Quantile loss — predicts the alpha-quantile.
alpha = 0.5 gives the median.
Trait Implementations§
Source§impl Clone for RegressionLoss
impl Clone for RegressionLoss
Source§fn clone(&self) -> RegressionLoss
fn clone(&self) -> RegressionLoss
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RegressionLoss
impl Debug for RegressionLoss
Source§impl Default for RegressionLoss
impl Default for RegressionLoss
Source§fn default() -> RegressionLoss
fn default() -> RegressionLoss
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RegressionLoss
impl RefUnwindSafe for RegressionLoss
impl Send for RegressionLoss
impl Sync for RegressionLoss
impl Unpin for RegressionLoss
impl UnsafeUnpin for RegressionLoss
impl UnwindSafe for RegressionLoss
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