incremental-rs 0.1.0

Out-of-Core and Incremental Model Fitting for Rust
Documentation
pub mod error;
pub mod learning_rate;
pub mod linear_regression;
pub mod logistic_regression;
pub mod minibatch_kmeans;
pub mod monitoring;
pub mod naive_bayes;

#[cfg(feature = "polars-streaming")]
pub mod streaming;

pub use error::IncrementalError;
pub use learning_rate::LearningRateSchedule;
pub use linear_regression::IncrementalLinearRegression;
pub use logistic_regression::{IncrementalLogisticRegression, MulticlassStrategy};
pub use minibatch_kmeans::MiniBatchKMeans;
pub use monitoring::{BatchStats, MonitoredEstimator};
pub use naive_bayes::IncrementalGaussianNaiveBayes;

#[cfg(feature = "polars-streaming")]
pub use streaming::{fit_streaming_supervised, StreamingConfig, StreamingShuffleBuffer};

use ndarray::{Array1, Array2};

pub trait IncrementalSupervisedEstimator {
    fn partial_fit(
        &mut self,
        batch_x: &Array2<f64>,
        batch_y: &Array1<f64>,
    ) -> Result<(), IncrementalError>;

    fn predict(&self, x: &Array2<f64>) -> Result<Array1<f64>, IncrementalError>;
}

pub trait IncrementalUnsupervisedEstimator {
    fn partial_fit(&mut self, batch_x: &Array2<f64>) -> Result<(), IncrementalError>;
    fn predict_labels(&self, x: &Array2<f64>) -> Result<Array1<usize>, IncrementalError>;
}