A Ruby library for building and serving predictive models with support for PMML and integration with Python and R models.
Eps is a machine learning library for Ruby that allows developers to build, evaluate, and serve predictive models directly within Ruby applications. It simplifies tasks like regression and classification by providing an intuitive API for training models, handling feature engineering, and persisting models using the PMML standard. The library also enables serving models originally built in Python or R, making it a versatile tool for integrating machine learning into Ruby-based projects.
Ruby developers and data scientists working on Rails applications or other Ruby projects who need to incorporate predictive modeling without switching to another language ecosystem.
Eps stands out by offering a pure-Ruby solution for machine learning with seamless interoperability for models built in Python and R, reducing deployment complexity. Its focus on simplicity, built-in validation, and support for standard PMML format makes it easy to integrate and maintain predictive models in production.
Machine learning for Ruby
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Builds models directly from Ruby hashes and arrays with an intuitive API, as shown in the getting started example, lowering the barrier for Ruby developers to enter ML.
Serves models from Python and R via the PMML standard, allowing deployment without managing separate language runtimes, with examples provided for sklearn2pmml and R's pmml package.
Automatically splits data into training/validation sets for performance evaluation and provides Eps.metrics for tracking RMSE or accuracy over time, crucial for production reliability.
Handles numeric, categorical, and text features with configurable options like tokenizers and stop words, enabling custom preprocessing without external tools.
Only offers three algorithms (LightGBM, linear regression, naive Bayes), missing common needs like decision trees, SVMs, or deep learning, which restricts advanced ML applications.
Relies on PMML for model storage and cross-language serving, which can be inefficient for large models and doesn't support all model types, requiring extra tools like ONNX Runtime for others.
On Mac, requires manual installation of OpenMP via Homebrew, adding an extra step that can complicate development and deployment in heterogeneous environments.