Skip to content

systats/ml

 
 

ml ml hex logo

A grammar of machine learning. Split, fit, evaluate, assess — in Python and R.

CI MIT epagogy.ai

Paper · Website · Python · R


Every ML textbook distinguishes validation from test. 294 published papers don't (Kapoor & Narayanan, 2023). ml makes the mistake inexpressible.

import ml

s = ml.split(data, "churn", seed=42)

model = ml.fit(s.train, "churn", seed=42)
ml.evaluate(model, s.valid)              # iterate freely
ml.assess(model, test=s.test)            # once — second call errors

Same four verbs in R (ml_fit, ml_assess). Same Rust engine underneath. Same result.


Beyond the core four: screen algorithms, tune hyperparameters, stack ensembles, validate against deployment rules, monitor drift in production. 11 Rust-native algorithms, 38 verbs, 173 bundled datasets.

Install Docs
Python pip install mlw python/
R remotes::install_github("epagogy/ml", subdir="r") r/

Research

Roth, S. (2026). A Grammar of Machine Learning Workflows. doi:10.5281/zenodo.19023838

License

MIT. Simon Roth, 2026.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 60.5%
  • Rust 20.3%
  • R 16.1%
  • Jupyter Notebook 2.0%
  • HTML 0.9%
  • Makefile 0.2%