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}