pub trait StreamClassifier: Send + Sync {
// Required methods
fn n_features(&self) -> usize;
fn n_classes(&self) -> usize;
fn n_observed(&self) -> u64;
fn observe(
&self,
features: &Array1<f64>,
label: usize,
) -> ClassificationResult<()>;
fn predict(
&self,
features: &Array1<f64>,
) -> ClassificationResult<ClassPrediction>;
}Expand description
Common interface for streaming classifiers.
Required Methods§
Sourcefn n_features(&self) -> usize
fn n_features(&self) -> usize
Number of input features.
Sourcefn n_observed(&self) -> u64
fn n_observed(&self) -> u64
Number of (features, label) samples observed so far.
Sourcefn observe(
&self,
features: &Array1<f64>,
label: usize,
) -> ClassificationResult<()>
fn observe( &self, features: &Array1<f64>, label: usize, ) -> ClassificationResult<()>
Update the model with a single labelled observation.
Sourcefn predict(
&self,
features: &Array1<f64>,
) -> ClassificationResult<ClassPrediction>
fn predict( &self, features: &Array1<f64>, ) -> ClassificationResult<ClassPrediction>
Produce a class prediction.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".