pub struct ExtraTreesRegressor<F> {
pub n_estimators: usize,
pub max_depth: Option<usize>,
pub min_samples_split: usize,
pub min_samples_leaf: usize,
pub max_features: MaxFeatures,
pub bootstrap: bool,
pub random_state: Option<u64>,
pub n_jobs: Option<usize>,
/* private fields */
}Expand description
Extremely randomized trees regressor (ensemble).
Builds an ensemble of ExtraTreeRegressor
base estimators, each using random split thresholds and random feature
subsets at every node. Final predictions are the mean across all trees.
Unlike RandomForestRegressor, bootstrap
sampling is disabled by default.
§Type Parameters
F: The floating-point type (f32orf64).
Fields§
§n_estimators: usizeNumber of trees in the ensemble.
max_depth: Option<usize>Maximum depth of each tree. None means unlimited.
min_samples_split: usizeMinimum number of samples required to split an internal node.
min_samples_leaf: usizeMinimum number of samples required in a leaf node.
max_features: MaxFeaturesStrategy for the number of features considered at each split.
bootstrap: boolWhether to use bootstrap sampling. Default is false.
random_state: Option<u64>Random seed for reproducibility. None means non-deterministic.
n_jobs: Option<usize>Number of parallel jobs. None means use all available cores.
Implementations§
Source§impl<F: Float> ExtraTreesRegressor<F>
impl<F: Float> ExtraTreesRegressor<F>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new ExtraTreesRegressor with default settings.
Defaults: n_estimators = 100, max_depth = None,
max_features = All, min_samples_split = 2,
min_samples_leaf = 1, bootstrap = false,
random_state = None, n_jobs = None.
Sourcepub fn with_n_estimators(self, n_estimators: usize) -> Self
pub fn with_n_estimators(self, n_estimators: usize) -> Self
Set the number of trees.
Sourcepub fn with_max_depth(self, max_depth: Option<usize>) -> Self
pub fn with_max_depth(self, max_depth: Option<usize>) -> Self
Set the maximum tree depth.
Sourcepub fn with_min_samples_split(self, min_samples_split: usize) -> Self
pub fn with_min_samples_split(self, min_samples_split: usize) -> Self
Set the minimum number of samples to split a node.
Sourcepub fn with_min_samples_leaf(self, min_samples_leaf: usize) -> Self
pub fn with_min_samples_leaf(self, min_samples_leaf: usize) -> Self
Set the minimum number of samples in a leaf.
Sourcepub fn with_max_features(self, max_features: MaxFeatures) -> Self
pub fn with_max_features(self, max_features: MaxFeatures) -> Self
Set the maximum features strategy.
Sourcepub fn with_bootstrap(self, bootstrap: bool) -> Self
pub fn with_bootstrap(self, bootstrap: bool) -> Self
Set whether to use bootstrap sampling.
Sourcepub fn with_random_state(self, seed: u64) -> Self
pub fn with_random_state(self, seed: u64) -> Self
Set the random seed for reproducibility.
Sourcepub fn with_n_jobs(self, n_jobs: usize) -> Self
pub fn with_n_jobs(self, n_jobs: usize) -> Self
Set the number of parallel jobs.
Trait Implementations§
Source§impl<F: Clone> Clone for ExtraTreesRegressor<F>
impl<F: Clone> Clone for ExtraTreesRegressor<F>
Source§fn clone(&self) -> ExtraTreesRegressor<F>
fn clone(&self) -> ExtraTreesRegressor<F>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<F: Debug> Debug for ExtraTreesRegressor<F>
impl<F: Debug> Debug for ExtraTreesRegressor<F>
Source§impl<F: Float> Default for ExtraTreesRegressor<F>
impl<F: Float> Default for ExtraTreesRegressor<F>
Source§impl<'de, F> Deserialize<'de> for ExtraTreesRegressor<F>
impl<'de, F> Deserialize<'de> for ExtraTreesRegressor<F>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<F: Float + Send + Sync + 'static> Fit<ArrayBase<OwnedRepr<F>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<F>, Dim<[usize; 1]>>> for ExtraTreesRegressor<F>
impl<F: Float + Send + Sync + 'static> Fit<ArrayBase<OwnedRepr<F>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<F>, Dim<[usize; 1]>>> for ExtraTreesRegressor<F>
Source§fn fit(
&self,
x: &Array2<F>,
y: &Array1<F>,
) -> Result<FittedExtraTreesRegressor<F>, FerroError>
fn fit( &self, x: &Array2<F>, y: &Array1<F>, ) -> Result<FittedExtraTreesRegressor<F>, FerroError>
Fit the ensemble by building n_estimators extra-trees in parallel.
§Errors
Returns FerroError::ShapeMismatch if x and y have different
numbers of samples.
Returns FerroError::InsufficientSamples if there are no samples.
Returns FerroError::InvalidParameter if n_estimators is 0.
Source§type Fitted = FittedExtraTreesRegressor<F>
type Fitted = FittedExtraTreesRegressor<F>
fit.Source§type Error = FerroError
type Error = FerroError
fit.Source§impl<F: Float + Send + Sync + 'static> PipelineEstimator<F> for ExtraTreesRegressor<F>
impl<F: Float + Send + Sync + 'static> PipelineEstimator<F> for ExtraTreesRegressor<F>
Source§fn fit_pipeline(
&self,
x: &Array2<F>,
y: &Array1<F>,
) -> Result<Box<dyn FittedPipelineEstimator<F>>, FerroError>
fn fit_pipeline( &self, x: &Array2<F>, y: &Array1<F>, ) -> Result<Box<dyn FittedPipelineEstimator<F>>, FerroError>
Auto Trait Implementations§
impl<F> Freeze for ExtraTreesRegressor<F>
impl<F> RefUnwindSafe for ExtraTreesRegressor<F>where
F: RefUnwindSafe,
impl<F> Send for ExtraTreesRegressor<F>where
F: Send,
impl<F> Sync for ExtraTreesRegressor<F>where
F: Sync,
impl<F> Unpin for ExtraTreesRegressor<F>where
F: Unpin,
impl<F> UnsafeUnpin for ExtraTreesRegressor<F>
impl<F> UnwindSafe for ExtraTreesRegressor<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,
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