macro_rules! define_estimator {
(
name: $name:ident,
config: $config:ident {
$(
$field:ident: $type:ty = $default:expr
),* $(,)?
},
features: [$($trait:ident),* $(,)?],
validation: {
$(
$validation:expr
),* $(,)?
}
) => { ... };
}Expand description
Advanced macro for creating ML estimators with builder pattern and validation
This macro generates comprehensive boilerplate code for ML estimators including:
- Builder pattern implementation
- Parameter validation
- Standard trait implementations
- Error handling
§Examples
ⓘ
use sklears_core::define_estimator;
define_estimator! {
name: LinearRegression,
config: LinearRegressionConfig {
fit_intercept: bool = true,
regularization: f64 = 0.0
},
features: [Fit, Predict],
validation: {
regularization >= 0.0
}
}