Ruby machine learning that borrows from Python without the baggage
Eps trains predictive models in Ruby and serves models built in Python or R, using PMML to keep the stack monolingual.

What it does
Eps wraps LightGBM, linear regression, and naive Bayes in a Ruby API for building predictive models. It handles numeric, categorical, and text features, automatically splits data into training and validation sets once you hit 30 rows, and serializes models to PMML. That PMML support means you can also load models trained in Python or R and serve them inside a Ruby process without managing a separate runtime.
The interesting bit
The clever part is the PMML bridge. Instead of deploying a Python microservice just to run inference, you export from sklearn2pmml or R’s pmml package, load the file in Ruby, and call predict. For teams already running Rails, this keeps the stack stubbornly monolingual.
Key highlights
- Supports LightGBM (default), linear regression, and naive Bayes algorithms
- Handles numeric, categorical, and text features out of the box, including basic bag-of-words text processing
- Serializes models to PMML for storage in files or databases, and can load PMML exports from Python and R
- Automatically splits data into training and validation sets for datasets with 30 or more rows
- Includes monitoring helpers to compare actual values against predictions over time
Caveats
- Requires OpenMP on macOS, and optionally GSL for faster linear regression on large datasets
- Only supports serving a limited set of external model types via PMML: LightGBM, linear regression, and naive Bayes
- Text features use simple word-count vectors; don’t expect transformer-level NLP
Verdict
Worth a look if you run a Ruby shop and want to add predictions without spinning up a Python sidecar. Skip it if you need deep learning, heavy NLP, or already have a mature Python inference layer.
Frequently asked
- What is ankane/eps?
- Eps trains predictive models in Ruby and serves models built in Python or R, using PMML to keep the stack monolingual.
- Is eps open source?
- Yes — ankane/eps is open source, released under the MIT license.
- What language is eps written in?
- ankane/eps is primarily written in Ruby.
- How popular is eps?
- ankane/eps has 692 stars on GitHub.
- Where can I find eps?
- ankane/eps is on GitHub at https://github.com/ankane/eps.