pub struct LinearRegression<State = Untrained> { /* private fields */ }Expand description
Linear Regression model
Implementations§
Source§impl LinearRegression<Untrained>
impl LinearRegression<Untrained>
Sourcepub fn fit_intercept(self, fit_intercept: bool) -> Self
pub fn fit_intercept(self, fit_intercept: bool) -> Self
Set whether to fit intercept
Sourcepub fn regularization(self, alpha: f64) -> Self
pub fn regularization(self, alpha: f64) -> Self
Set regularization (Ridge/L2)
Sourcepub fn elastic_net(alpha: f64, l1_ratio: f64) -> Self
pub fn elastic_net(alpha: f64, l1_ratio: f64) -> Self
Create an ElasticNet regression model (L1 + L2 penalty)
Sourcepub fn warm_start(self, warm_start: bool) -> Self
pub fn warm_start(self, warm_start: bool) -> Self
Set whether to use warm start
Source§impl LinearRegression<Untrained>
impl LinearRegression<Untrained>
Sourcepub fn fit_with_warm_start(
self,
x: &Array2<Float>,
y: &Array1<Float>,
initial_coef: Option<&Array1<Float>>,
initial_intercept: Option<Float>,
) -> Result<LinearRegression<Trained>>
pub fn fit_with_warm_start( self, x: &Array2<Float>, y: &Array1<Float>, initial_coef: Option<&Array1<Float>>, initial_intercept: Option<Float>, ) -> Result<LinearRegression<Trained>>
Fit the linear regression model with warm start
Uses the provided coefficients and intercept as initialization for iterative solvers
Source§impl LinearRegression<Untrained>
impl LinearRegression<Untrained>
Sourcepub fn fit_with_early_stopping(
self,
x: &Array2<Float>,
y: &Array1<Float>,
early_stopping_config: EarlyStoppingConfig,
) -> Result<(LinearRegression<Trained>, ValidationInfo)>
pub fn fit_with_early_stopping( self, x: &Array2<Float>, y: &Array1<Float>, early_stopping_config: EarlyStoppingConfig, ) -> Result<(LinearRegression<Trained>, ValidationInfo)>
Fit the linear regression model with early stopping based on validation metrics
This method is particularly useful for regularized methods (Lasso, ElasticNet) where early stopping can prevent overfitting.
Sourcepub fn fit_with_early_stopping_split(
self,
x_train: &Array2<Float>,
y_train: &Array1<Float>,
x_val: &Array2<Float>,
y_val: &Array1<Float>,
early_stopping_config: EarlyStoppingConfig,
) -> Result<(LinearRegression<Trained>, ValidationInfo)>
pub fn fit_with_early_stopping_split( self, x_train: &Array2<Float>, y_train: &Array1<Float>, x_val: &Array2<Float>, y_val: &Array1<Float>, early_stopping_config: EarlyStoppingConfig, ) -> Result<(LinearRegression<Trained>, ValidationInfo)>
Fit the linear regression model with early stopping using pre-split validation data
This gives you more control over the train/validation split compared to
fit_with_early_stopping which automatically splits the data.
Trait Implementations§
Source§impl<State: Clone> Clone for LinearRegression<State>
impl<State: Clone> Clone for LinearRegression<State>
Source§fn clone(&self) -> LinearRegression<State>
fn clone(&self) -> LinearRegression<State>
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<State: Debug> Debug for LinearRegression<State>
impl<State: Debug> Debug for LinearRegression<State>
Source§impl Default for LinearRegression<Untrained>
impl Default for LinearRegression<Untrained>
Source§impl Estimator for LinearRegression<Untrained>
impl Estimator for LinearRegression<Untrained>
Source§type Config = LinearRegressionConfig
type Config = LinearRegressionConfig
Configuration type for the estimator
Source§type Error = SklearsError
type Error = SklearsError
Error type for the estimator
Source§fn validate_config(&self) -> Result<(), SklearsError>
fn validate_config(&self) -> Result<(), SklearsError>
Validate estimator configuration with detailed error context
Source§fn check_compatibility(
&self,
n_samples: usize,
n_features: usize,
) -> Result<(), SklearsError>
fn check_compatibility( &self, n_samples: usize, n_features: usize, ) -> Result<(), SklearsError>
Check if estimator is compatible with given data dimensions
Source§fn metadata(&self) -> EstimatorMetadata
fn metadata(&self) -> EstimatorMetadata
Get estimator metadata
Source§impl Fit<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for LinearRegression<Untrained>
impl Fit<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for LinearRegression<Untrained>
Source§type Fitted = LinearRegression<Trained>
type Fitted = LinearRegression<Trained>
The fitted model type
Source§fn fit(self, x: &Array2<Float>, y: &Array1<Float>) -> Result<Self::Fitted>
fn fit(self, x: &Array2<Float>, y: &Array1<Float>) -> Result<Self::Fitted>
Fit the model to the provided data with validation
Source§fn fit_with_validation(
self,
x: &X,
y: &Y,
_x_val: Option<&X>,
_y_val: Option<&Y>,
) -> Result<(Self::Fitted, FitMetrics), SklearsError>where
Self: Sized,
fn fit_with_validation(
self,
x: &X,
y: &Y,
_x_val: Option<&X>,
_y_val: Option<&Y>,
) -> Result<(Self::Fitted, FitMetrics), SklearsError>where
Self: Sized,
Fit with custom validation and early stopping
Source§impl ModelValidation for LinearRegression
impl ModelValidation for LinearRegression
type Error = SklearsError
Source§fn validate_config(self) -> Result<Self, Self::Error>
fn validate_config(self) -> Result<Self, Self::Error>
Validate the model configuration
Source§impl Predict<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for LinearRegression<Trained>
impl Predict<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<f64>, Dim<[usize; 1]>>> for LinearRegression<Trained>
Source§fn predict(&self, x: &Array2<Float>) -> Result<Array1<Float>>
fn predict(&self, x: &Array2<Float>) -> Result<Array1<Float>>
Make predictions on the provided data
Source§fn predict_with_uncertainty(
&self,
x: &X,
) -> Result<(Output, UncertaintyMeasure), SklearsError>
fn predict_with_uncertainty( &self, x: &X, ) -> Result<(Output, UncertaintyMeasure), SklearsError>
Make predictions with confidence intervals
Auto Trait Implementations§
impl<State> Freeze for LinearRegression<State>
impl<State> RefUnwindSafe for LinearRegression<State>where
State: RefUnwindSafe,
impl<State> Send for LinearRegression<State>where
State: Send,
impl<State> Sync for LinearRegression<State>where
State: Sync,
impl<State> Unpin for LinearRegression<State>where
State: Unpin,
impl<State> UnwindSafe for LinearRegression<State>where
State: 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
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> StableApi for Twhere
T: Estimator,
impl<T> StableApi for Twhere
T: Estimator,
Source§const STABLE_SINCE: &'static str = "0.1.0"
const STABLE_SINCE: &'static str = "0.1.0"
API version this type was stabilized in
Source§const HAS_EXPERIMENTAL_FEATURES: bool = false
const HAS_EXPERIMENTAL_FEATURES: bool = false
Whether this API has any experimental features