pub struct ClassifierChain<S = Untrained> { /* private fields */ }Expand description
Classifier Chain
A multi-label model that arranges binary classifiers into a chain. Each model makes a prediction in the order specified by the chain using all of the available features provided to the model plus the predictions of models that are earlier in the chain.
§Examples
use sklears_multioutput::chains::ClassifierChain;
// Use SciRS2-Core for arrays and random number generation (SciRS2 Policy)
use scirs2_core::ndarray::array;
// This is a simple example showing the structure
let data = array![[1.0, 2.0], [2.0, 3.0], [3.0, 1.0]];
let labels = array![[0, 1], [1, 0], [1, 1]];Implementations§
Source§impl ClassifierChain<Untrained>
impl ClassifierChain<Untrained>
Sourcepub fn random_state(self, random_state: u64) -> Self
pub fn random_state(self, random_state: u64) -> Self
Set random state for reproducibility
Source§impl ClassifierChain<Untrained>
impl ClassifierChain<Untrained>
Sourcepub fn fit_simple(
self,
X: &ArrayView2<'_, Float>,
y: &Array2<i32>,
) -> SklResult<ClassifierChain<ClassifierChainTrained>>
pub fn fit_simple( self, X: &ArrayView2<'_, Float>, y: &Array2<i32>, ) -> SklResult<ClassifierChain<ClassifierChainTrained>>
Fit the classifier chain using a simple mock approach
Source§impl ClassifierChain<ClassifierChainTrained>
impl ClassifierChain<ClassifierChainTrained>
Sourcepub fn predict_proba(
&self,
X: &ArrayView2<'_, Float>,
) -> SklResult<Array2<Float>>
pub fn predict_proba( &self, X: &ArrayView2<'_, Float>, ) -> SklResult<Array2<Float>>
Predict probabilities for each label
Sourcepub fn chain_order(&self) -> &[usize]
pub fn chain_order(&self) -> &[usize]
Get the chain order used during training
Sourcepub fn predict_simple(
&self,
X: &ArrayView2<'_, Float>,
) -> SklResult<Array2<i32>>
pub fn predict_simple( &self, X: &ArrayView2<'_, Float>, ) -> SklResult<Array2<i32>>
Simple prediction method (alias for predict)
Sourcepub fn predict_monte_carlo(
&self,
X: &ArrayView2<'_, Float>,
n_samples: usize,
random_state: Option<u64>,
) -> SklResult<Array2<Float>>
pub fn predict_monte_carlo( &self, X: &ArrayView2<'_, Float>, n_samples: usize, random_state: Option<u64>, ) -> SklResult<Array2<Float>>
Monte Carlo prediction (simplified)
Sourcepub fn predict_monte_carlo_labels(
&self,
X: &ArrayView2<'_, Float>,
n_samples: usize,
random_state: Option<u64>,
) -> SklResult<Array2<i32>>
pub fn predict_monte_carlo_labels( &self, X: &ArrayView2<'_, Float>, n_samples: usize, random_state: Option<u64>, ) -> SklResult<Array2<i32>>
Monte Carlo prediction for labels (simplified)
Trait Implementations§
Source§impl<S: Clone> Clone for ClassifierChain<S>
impl<S: Clone> Clone for ClassifierChain<S>
Source§fn clone(&self) -> ClassifierChain<S>
fn clone(&self) -> ClassifierChain<S>
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<S: Debug> Debug for ClassifierChain<S>
impl<S: Debug> Debug for ClassifierChain<S>
Source§impl Default for ClassifierChain<Untrained>
impl Default for ClassifierChain<Untrained>
Source§impl Estimator for ClassifierChain<Untrained>
impl Estimator for ClassifierChain<Untrained>
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<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<i32>, Dim<[usize; 2]>>, ClassifierChainTrained> for ClassifierChain<Untrained>
impl Fit<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<i32>, Dim<[usize; 2]>>, ClassifierChainTrained> for ClassifierChain<Untrained>
Source§type Fitted = ClassifierChain<ClassifierChainTrained>
type Fitted = ClassifierChain<ClassifierChainTrained>
The fitted model type
Source§fn fit(
self,
X: &ArrayView2<'_, Float>,
y: &Array2<i32>,
) -> SklResult<Self::Fitted>
fn fit( self, X: &ArrayView2<'_, Float>, y: &Array2<i32>, ) -> SklResult<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 Predict<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<i32>, Dim<[usize; 2]>>> for ClassifierChain<ClassifierChainTrained>
impl Predict<ArrayBase<ViewRepr<&f64>, Dim<[usize; 2]>>, ArrayBase<OwnedRepr<i32>, Dim<[usize; 2]>>> for ClassifierChain<ClassifierChainTrained>
Source§fn predict(&self, X: &ArrayView2<'_, Float>) -> SklResult<Array2<i32>>
fn predict(&self, X: &ArrayView2<'_, Float>) -> SklResult<Array2<i32>>
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<S> Freeze for ClassifierChain<S>where
S: Freeze,
impl<S> RefUnwindSafe for ClassifierChain<S>where
S: RefUnwindSafe,
impl<S> Send for ClassifierChain<S>where
S: Send,
impl<S> Sync for ClassifierChain<S>where
S: Sync,
impl<S> Unpin for ClassifierChain<S>where
S: Unpin,
impl<S> UnwindSafe for ClassifierChain<S>where
S: 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