sklears_semi_supervised/batch_active_learning/
mod.rs1mod batch_mode;
8mod core_set;
9mod diverse_minibatch;
10mod diversity_based;
11mod gradient_embedding;
12
13pub use batch_mode::*;
14pub use core_set::*;
15pub use diverse_minibatch::*;
16pub use diversity_based::*;
17pub use gradient_embedding::*;
18
19use scirs2_core::ndarray_ext::{Array1, Array2, ArrayView1, ArrayView2};
20use scirs2_core::random::Random;
21use sklears_core::error::{Result, SklearsError};
23use std::collections::HashMap;
24use thiserror::Error;
25
26#[derive(Error, Debug)]
27pub enum BatchActiveLearningError {
28 #[error("Invalid batch size: {0}")]
29 InvalidBatchSize(usize),
30 #[error("Invalid diversity weight: {0}")]
31 InvalidDiversityWeight(f64),
32 #[error("Invalid cluster count: {0}")]
33 InvalidClusterCount(usize),
34 #[error("Insufficient unlabeled samples")]
35 InsufficientUnlabeledSamples,
36 #[error("Invalid distance metric: {0}")]
37 InvalidDistanceMetric(String),
38 #[error("Matrix operation failed: {0}")]
39 MatrixOperationFailed(String),
40 #[error("Core-set computation failed: {0}")]
41 CoreSetComputationFailed(String),
42}
43
44impl From<BatchActiveLearningError> for SklearsError {
45 fn from(err: BatchActiveLearningError) -> Self {
46 SklearsError::FitError(err.to_string())
47 }
48}