use thiserror::Error;
#[derive(Error, Debug)]
pub enum SklearnError {
#[error("形状不匹配: 期望 {expected}, 得到 {actual}")]
ShapeMismatch { expected: String, actual: String },
#[error("数据包含 NaN 或无穷大值")]
InvalidData,
#[error("拟合失败: {reason}")]
FitFailed { reason: String },
#[error("数值计算错误: {reason}")]
NumericalError { reason: String },
}
pub type Result<T> = std::result::Result<T, SklearnError>;