RandomForestClassifier

Struct RandomForestClassifier 

Source
pub struct RandomForestClassifier<State = Untrained> { /* private fields */ }
Expand description

Random Forest Classifier

Implementations§

Source§

impl RandomForestClassifier<Untrained>

Source

pub fn new() -> Self

Create a new Random Forest Classifier

Source

pub fn n_estimators(self, n_estimators: usize) -> Self

Set the number of trees in the forest

Source

pub fn criterion(self, criterion: SplitCriterion) -> Self

Set the split criterion

Source

pub fn max_depth(self, max_depth: usize) -> Self

Set the maximum depth of trees

Source

pub fn min_samples_split(self, min_samples_split: usize) -> Self

Set the minimum samples required to split

Source

pub fn min_samples_leaf(self, min_samples_leaf: usize) -> Self

Set the minimum samples required at a leaf

Source

pub fn max_features(self, max_features: MaxFeatures) -> Self

Set the maximum features strategy

Source

pub fn bootstrap(self, bootstrap: bool) -> Self

Set whether to bootstrap samples

Source

pub fn oob_score(self, oob_score: bool) -> Self

Set whether to compute out-of-bag score

Source

pub fn class_weight(self, class_weight: ClassWeight) -> Self

Set class weighting strategy for imbalanced datasets

Source

pub fn sampling_strategy(self, sampling_strategy: SamplingStrategy) -> Self

Set sampling strategy for building trees

Source

pub fn random_state(self, seed: u64) -> Self

Set the random state

Source

pub fn n_jobs(self, n_jobs: i32) -> Self

Set the number of parallel jobs

Source

pub fn min_impurity_decrease(self, min_impurity_decrease: f64) -> Self

Set the minimum impurity decrease

Source§

impl RandomForestClassifier<Trained>

Source

pub fn classes(&self) -> &Array1<i32>

Get the classes

Source

pub fn n_classes(&self) -> usize

Get the number of classes

Source

pub fn n_features(&self) -> usize

Get the number of features

Source

pub fn oob_score(&self) -> Option<f64>

Get the out-of-bag score if computed

Source

pub fn oob_decision_function(&self) -> Option<&Array2<f64>>

Get the out-of-bag decision function if computed

Source

pub fn compute_proximity_matrix(&self, x: &Array2<Float>) -> Result<Array2<f64>>

Compute the proximity matrix between samples

The proximity matrix measures how often pairs of samples end up in the same leaf nodes across all trees in the forest. Values range from 0 to 1, where 1 indicates samples always end up in the same leaves.

Source

pub fn proximity_matrix(&self) -> Option<&Array2<f64>>

Get the computed proximity matrix

Returns None if the proximity matrix hasn’t been computed yet. Call compute_proximity_matrix() first to calculate it.

Source

pub fn predict_parallel(&self, x: &Array2<Float>) -> Result<Array1<i32>>

Predict class labels using parallel processing

This method performs prediction in parallel, which can significantly speed up predictions on large datasets when the parallel feature is enabled.

Source

pub fn predict_proba_parallel(&self, x: &Array2<Float>) -> Result<Array2<f64>>

Predict class probabilities using parallel processing

This method performs probability prediction in parallel, which can significantly speed up predictions on large datasets when the parallel feature is enabled.

Note: Since SmartCore’s RandomForestClassifier doesn’t provide predict_proba, this implementation creates probability estimates by running multiple predictions and averaging the results across different bootstrap samples of the trees.

Source

pub fn feature_importances(&self) -> Result<Array1<f64>>

Get feature importances

Returns the feature importances (the higher, the more important the feature).

Since SmartCore doesn’t expose detailed tree structure, this implementation uses permutation-based feature importance as an approximation.

Source

pub fn permutation_feature_importance( &self, x: &Array2<Float>, y: &Array1<i32>, n_repeats: usize, ) -> Result<Array1<f64>>

Compute permutation-based feature importance

This method computes feature importance by measuring the decrease in model performance when feature values are randomly permuted.

Source

pub fn predict_proba(&self, _x: &Array2<Float>) -> Result<Array2<f64>>

Predict class probabilities

Trait Implementations§

Source§

impl Default for RandomForestClassifier<Untrained>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl Estimator for RandomForestClassifier<Untrained>

Source§

type Config = RandomForestConfig

Configuration type for the estimator
Source§

type Error = SklearsError

Error type for the estimator
Source§

type Float = f64

The numeric type used by this estimator
Source§

fn config(&self) -> &Self::Config

Get estimator configuration
Source§

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>

Check if estimator is compatible with given data dimensions
Source§

fn metadata(&self) -> EstimatorMetadata

Get estimator metadata
Source§

impl Fit<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<i32>, Dim<[usize; 1]>>> for RandomForestClassifier<Untrained>

Source§

type Fitted = RandomForestClassifier<Trained>

The fitted model type
Source§

fn fit(self, x: &Array2<Float>, y: &Array1<i32>) -> 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,

Fit with custom validation and early stopping
Source§

impl Predict<ArrayBase<OwnedRepr<f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<i32>, Dim<[usize; 1]>>> for RandomForestClassifier<Trained>

Source§

fn predict(&self, x: &Array2<Float>) -> Result<Array1<i32>>

Make predictions on the provided data
Source§

fn predict_with_uncertainty( &self, x: &X, ) -> Result<(Output, UncertaintyMeasure), SklearsError>

Make predictions with confidence intervals

Auto Trait Implementations§

§

impl<State> Freeze for RandomForestClassifier<State>

§

impl<State> RefUnwindSafe for RandomForestClassifier<State>
where State: RefUnwindSafe,

§

impl<State> Send for RandomForestClassifier<State>
where State: Send,

§

impl<State> Sync for RandomForestClassifier<State>
where State: Sync,

§

impl<State> Unpin for RandomForestClassifier<State>
where State: Unpin,

§

impl<State> UnwindSafe for RandomForestClassifier<State>
where State: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> StableApi for T
where T: Estimator,

Source§

const STABLE_SINCE: &'static str = "0.1.0"

API version this type was stabilized in
Source§

const HAS_EXPERIMENTAL_FEATURES: bool = false

Whether this API has any experimental features
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V