Release notes¶
ml4 follows semantic versioning. The installed version is always available
as parleml_ml4.__version__.
0.8.0¶
The first release of ml4, the training engine inside ParleML. It turns a table into a deployable model on AutoGluon 1.6.3, and adds feature engineering, a regulated model roster and honest post-fit checks around it.
Supervised learning¶
- One front door.
parleml_ml4.AutoSupervised(cfg).fit(df)returns aFittedPipelinewith scikit-learn stylepredictandpredict_proba. It handles binary, multiclass and regression targets. See Supervised and the Quickstart. - Presets. Sixteen built-in presets in
parleml_ml4.config.presets.PRESETS, fromdefaultandquick_exploretohigh_accuracy, the tuned ensembles,real_time,large_dataset,small_data,text_heavy,foundation_ensembleand three regulated presets. See Configuration & presets. - Model roster. LightGBM, CatBoost and XGBoost variants (
GBM:gbdt,GBM:dart,GBM:extra,CAT:symmetric,XGB:gbtreeand more), random forest, extra trees, linear and neural models. See Algorithms & metrics. - Glass-box models. GLM, scorecard, RuleFit and EBM for regulated work, with monotonic constraints derived from the data or set by hand. See Monotonic constraints & regulated models.
- Tabular foundation model. TabICL as a challenger, and a zero-shot signal check that tells you whether the data carries signal before you train. See Tabular foundation models and Signal check.
- Validation. Random, grouped and time-ordered splits. See Data splitting & validation.
- Hyperparameter search. A seeded Optuna search per roster model, handed to AutoGluon for bagging and ensembling. See Hyperparameter search and Choosing an HPO strategy.
- Imbalanced data and outliers. Oversampling, undersampling, sample weights and outlier handling. See Imbalanced data & outliers.
Feature engineering¶
- A planned recipe. Every transform is typed by its leakage risk and fitted either once on the training frame or inside each fold. See Feature engineering.
- Stateful encoders (target encoders from the
category_encodersfamily, cross-fitted inside each training slice), stateless domain encoders, and temporal encoders (lags and rolling windows). See Stateful encoders, Stateless domain encoders and Temporal encoders. - Text embeddings from a local model (default
BAAI/bge-small-en-v1.5) or a provider. The model records which embedding source it was trained on, and scoring checks it. See Text & embeddings. - Geography and reference data joins. See Geography & reference data.
- AutoGluon's Prep options
GBM:extraandGBM:arith. See AutoGluon's Prep options.
The decision layer¶
- Calibration, threshold and baseline check as one unit, fitted on the model's own
out-of-sample predictions. Calibration (
auto,isotonic,plattortemperature) ships only when it beats the raw probabilities. See The decision layer. - Re-decide without retraining.
parleml_ml4.refit_decision_layerchanges the calibration or threshold of a saved model in seconds. See the decision-layer reference. - Prediction intervals for regression: conformalized quantile regression (CQR) or split conformal. See Prediction intervals.
Forecasting¶
- Four backends, chosen with
backend:stats: StatsForecast models (AutoARIMA, AutoETS, AutoTheta, MSTL, TBATS, and the Croston family for intermittent demand).tree: gradient-boosted models on lag features, forecast recursively.foundation: zero-shot Chronos-2 and Chronos-Bolt models.autogluon: AutoGluon-TimeSeries.
- A real time grid, backtests with conformal intervals, hierarchical reconciliation (bottom-up) and MASE against a seasonal-naive baseline. See Forecasting and the Forecaster reference.
- Non-negative forecasts.
non_negative(default"auto") floors every point and band at zero when the training target is never negative. The cross-validation predictions are floored before scoring, so metrics and coverage match what is published.
Unsupervised learning¶
- Anomaly detection with
AnomalyDetectorover PyOD detectors (ECOD, Isolation Forest, LOF, autoencoders and more). - Missing numbers are filled from each row's nearest neighbours, so a gap does not make a
row look anomalous; a
__missingflag is opt-in (missing_indicators=True). - Clustering with
ClusteringDetectorover seven scikit-learn algorithms (HDBSCAN by default), with automatic choice of the cluster count and cluster profiles. See Unsupervised.
Recommendation, ranking and association¶
- Recommendation.
Recommenderscores next-best products per entity and reports Hit@K, MRR@K and NDCG@K. See Recommendation. - Learning to rank.
LTRRankerwith LightGBM or CatBoost rankers andltr_fast,ltr_balancedandltr_thoroughpresets. See Learning-to-Rank and Ranking metrics & objectives. - Association rules.
AssociationMinermines frequent itemsets and statistically tested rules from long, event or basket data, and scores each rule on held-out baskets. See Association rules.
Deployment and operations¶
- Save and load.
model.save(path)andparleml_ml4.load_pipeline(path). See Deployment & export. - MLflow. pyfunc logging and model registration, including Unity Catalog. See MLOps.
- Fast scoring. An opt-in Treelite accelerator (
deployment.deliver_treelite) and an AutoGluon-free pure-Python export. See Inference & fast scoring. - GPU and reproducibility. See GPU acceleration and Reproducibility & seeds.
Saved artifacts¶
Every saved artifact carries a format stamp and the ml4 version that wrote it: supervised bundles,
forecasting, recommendation, learning-to-rank and unsupervised pipelines, association results and
decision bases. ml4 checks the stamp before it unpickles anything. An artifact written by a
pre-release build, or by any other format, is refused with a StaleArtifactError that says to
re-train or re-export it with this version.
Load only artifacts you trust
Artifacts are saved with pickle and joblib. Loading one runs code, so load only models you
produced yourself.
Next: Installation · Quickstart