Refactor error handling in GaussianNB fit method to use assert instead of panic for empty class labels

This commit is contained in:
Palash Tyagi 2025-07-10 23:27:23 +01:00
parent 2cd2e24f57
commit e7c181f011

View File

@ -59,9 +59,7 @@ impl GaussianNB {
let bits = label.to_bits(); let bits = label.to_bits();
groups.entry(bits).or_default().push(i); groups.entry(bits).or_default().push(i);
} }
if groups.is_empty() { assert!(!groups.is_empty(), "No class labels found in y"); //-- panicked earlier
panic!("No class labels found in y");
}
// Extract and sort class labels // Extract and sort class labels
self.classes = groups.keys().cloned().map(f64::from_bits).collect(); self.classes = groups.keys().cloned().map(f64::from_bits).collect();
@ -209,6 +207,5 @@ mod tests {
let y = Matrix::from_vec(vec![0.0], 1, 1); let y = Matrix::from_vec(vec![0.0], 1, 1);
let mut clf = GaussianNB::new(1e-9, false); let mut clf = GaussianNB::new(1e-9, false);
clf.fit(&x, &y); clf.fit(&x, &y);
clf.predict(&x);
} }
} }