pub mod generators;
pub mod memory_pool;
pub mod parallel_rng;
pub mod simd_gen;
pub mod traits;
pub mod validation;
pub mod versioning;
pub mod viz;
pub use parallel_rng::ParallelRng;
pub use simd_gen::SimdCapabilities;
pub use traits::{Dataset, DatasetGenerator, InMemoryDataset};
pub use versioning::{DatasetVersion, ProvenanceInfo};
pub use viz::PlotConfig;
pub use generators::basic::{
make_blobs, make_circles, make_classification, make_moons, make_regression,
};
pub use generators::performance::{parallel_generate, DatasetStream, LazyDatasetGenerator};
pub use generators::type_safe::{
make_typed_blobs, make_typed_classification, make_typed_regression,
};
use scirs2_core::ndarray::{Array1, Array2};
#[derive(Debug, Clone)]
pub struct SimpleDataset {
pub features: Array2<f64>,
pub targets: Option<Array1<f64>>,
}
impl SimpleDataset {
pub fn new(features: Array2<f64>, targets: Option<Array1<f64>>) -> Self {
Self { features, targets }
}
pub fn n_samples(&self) -> usize {
self.features.nrows()
}
pub fn n_features(&self) -> usize {
self.features.ncols()
}
}