use crate::error::Result;
pub trait Clustering {
fn fit_predict(&self, data: &[Vec<f32>]) -> Result<Vec<usize>>;
fn n_clusters(&self) -> usize;
}
pub trait SoftClustering: Clustering {
fn fit_predict_proba(&self, data: &[Vec<f32>]) -> Result<Vec<Vec<f64>>>;
}