ankane/eps

Machine learning for Ruby

What it solves

Eps simplifies the process of building, training, and serving machine learning models directly within Ruby applications. It bridges the gap between data science and production environments, allowing developers to create predictive models (regression or classification) and deploy them without needing to manage complex external infrastructure or switch languages.

How it works

Eps provides a unified Ruby interface for training models using algorithms like LightGBM, Linear Regression, and Naive Bayes. It handles data preparation, feature engineering (including text processing), and model validation. Models are stored and exchanged using the PMML (Predictive Model Markup Language) standard, which allows you to train models in other languages like Python or R and serve them seamlessly within your Ruby or Rails application.

Who it’s for

This project is for Ruby and Rails developers who want to integrate machine learning into their applications without leaving the Ruby ecosystem. It is ideal for teams that need to deploy models built in various languages into a unified Ruby-based production environment.

Highlights

  • Supports multiple algorithms: LightGBM (default), Linear Regression, and Naive Bayes.
  • Interoperable: Serves models trained in Python, R, and other languages via PMML.
  • Native Rails integration: Easy to incorporate into Rails workflows, including model storage in databases and automated retraining.
  • Built-in evaluation: Automatically splits data for validation and provides performance metrics like RMSE and accuracy.
  • Flexible data input: Works with arrays, hashes, Numo arrays, and Rover data frames.

Related

  • Project
  • Project
  • Project
  • Project