pub struct ExtraTreesClassifier<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 criterion: ClassificationCriterion,
pub random_state: Option<u64>,
pub n_jobs: Option<usize>,
/* private fields */
}Expand description
Extremely randomized trees classifier (ensemble).
Builds an ensemble of ExtraTreeClassifier
base estimators, each using random split thresholds and random feature
subsets at every node. Final predictions are made by majority vote.
Unlike RandomForestClassifier, bootstrap
sampling is disabled by default. Randomness comes from the random
thresholds and random feature subsets at each split.
§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.
criterion: ClassificationCriterionSplitting criterion.
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> ExtraTreesClassifier<F>
impl<F: Float> ExtraTreesClassifier<F>
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new ExtraTreesClassifier with default settings.
Defaults: n_estimators = 100, max_depth = None,
max_features = Sqrt, min_samples_split = 2,
min_samples_leaf = 1, bootstrap = false,
criterion = Gini, 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_criterion(self, criterion: ClassificationCriterion) -> Self
pub fn with_criterion(self, criterion: ClassificationCriterion) -> Self
Set the splitting criterion.
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 ExtraTreesClassifier<F>
impl<F: Clone> Clone for ExtraTreesClassifier<F>
Source§fn clone(&self) -> ExtraTreesClassifier<F>
fn clone(&self) -> ExtraTreesClassifier<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 ExtraTreesClassifier<F>
impl<F: Debug> Debug for ExtraTreesClassifier<F>
Source§impl<F: Float> Default for ExtraTreesClassifier<F>
impl<F: Float> Default for ExtraTreesClassifier<F>
Source§impl<'de, F> Deserialize<'de> for ExtraTreesClassifier<F>
impl<'de, F> Deserialize<'de> for ExtraTreesClassifier<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<usize>, Dim<[usize; 1]>>> for ExtraTreesClassifier<F>
impl<F: Float + Send + Sync + 'static> Fit<ArrayBase<OwnedRepr<F>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<usize>, Dim<[usize; 1]>>> for ExtraTreesClassifier<F>
Source§fn fit(
&self,
x: &Array2<F>,
y: &Array1<usize>,
) -> Result<FittedExtraTreesClassifier<F>, FerroError>
fn fit( &self, x: &Array2<F>, y: &Array1<usize>, ) -> Result<FittedExtraTreesClassifier<F>, FerroError>
Fit the ensemble by building n_estimators extra-trees in parallel.
Each tree uses random split thresholds and random feature subsets at
every node. If bootstrap is true, each tree is trained on a
bootstrap sample; otherwise all samples are used.
§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 = FittedExtraTreesClassifier<F>
type Fitted = FittedExtraTreesClassifier<F>
fit.Source§type Error = FerroError
type Error = FerroError
fit.Source§impl<F: Float + ToPrimitive + FromPrimitive + Send + Sync + 'static> PipelineEstimator<F> for ExtraTreesClassifier<F>
impl<F: Float + ToPrimitive + FromPrimitive + Send + Sync + 'static> PipelineEstimator<F> for ExtraTreesClassifier<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 ExtraTreesClassifier<F>
impl<F> RefUnwindSafe for ExtraTreesClassifier<F>where
F: RefUnwindSafe,
impl<F> Send for ExtraTreesClassifier<F>where
F: Send,
impl<F> Sync for ExtraTreesClassifier<F>where
F: Sync,
impl<F> Unpin for ExtraTreesClassifier<F>where
F: Unpin,
impl<F> UnsafeUnpin for ExtraTreesClassifier<F>
impl<F> UnwindSafe for ExtraTreesClassifier<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