Skip to main content

entrenar/config/infer/
config.rs

1//! Configuration for type inference
2
3/// Configuration for type inference
4#[derive(Debug, Clone)]
5pub struct InferenceConfig {
6    /// Maximum cardinality ratio to consider categorical (default: 0.05)
7    pub categorical_threshold: f32,
8    /// Minimum average string length to consider text (default: 20)
9    pub text_min_avg_len: f32,
10    /// Column names that should be treated as targets
11    pub target_columns: Vec<String>,
12    /// Column names to exclude from inference
13    pub exclude_columns: Vec<String>,
14}
15
16impl Default for InferenceConfig {
17    fn default() -> Self {
18        Self {
19            categorical_threshold: 0.05,
20            text_min_avg_len: 20.0,
21            target_columns: vec!["label".to_string(), "target".to_string(), "y".to_string()],
22            exclude_columns: vec![],
23        }
24    }
25}