Cover image for Machine Learning with Ruby

Machine Learning with Ruby

daviducolo profile image Davide Santangelo ・3 min read

A list of gems for Machine Learning, there is not only the Python :).


Numo::NArray is a Numerical N-dimensional Array class
for fast processing and easy manipulation of multi-dimensional numerical data,
similar to numpy.ndaray.
This project is the successor to Ruby/NArray.

URL: https://github.com/ruby-numo/numo-narray


Yomu is a library for extracting text and metadata from files and documents using the Apache Tika content analysis toolkit.

URL: https://github.com/yomurb/yomu

Decision Tree

A Ruby library which implements ID3 (information gain) algorithm for decision tree learning. Currently, continuous and discrete datasets can be learned.

URL: https://github.com/igrigorik/decisiontree


Lurn is a ruby gem for performing machine learning tasks. The API and design patterns in Lurn are inspired by scikit-learn, a popular machine learning library for Python.

URL: https://github.com/dansbits/lurn

Classifier Reborn

Classifier Reborn is a general classifier module to allow Bayesian and other types of classifications.

URL: https://github.com/jekyll/classifier-reborn


daru (Data Analysis in RUby) is a library for storage, analysis, manipulation and visualization of data in Ruby.

daru makes it easy and intuitive to process data predominantly through 2 data structures: Daru::DataFrame and Daru::Vector.

URL: https://github.com/SciRuby/daru


Rumale (Ruby machine learning) is a machine learning library in Ruby. Rumale provides machine learning algorithms with interfaces similar to Scikit-Learn in Python. Rumale supports Support Vector Machine, Logistic Regression, Ridge, Lasso, Factorization Machine, Multi-layer Perceptron, Naive Bayes, Decision Tree, Gradient Tree Boosting, Random Forest, K-Means, Gaussian Mixture Model, DBSCAN, Spectral Clustering, Mutidimensional Scaling, t-SNE, Fisher Discriminant Analysis, Neighbourhood Component Analysis, Principal Component Analysis, Non-negative Matrix Factorization, and many other algorithms.

URL: https://github.com/yoshoku/rumale


Nyaplot is an interactive plots generator for Ruby users. Its goal is to make it easy to create interactive plots in Ruby and still allows fast prototyping, customizability, and the integration with other scientific gems.

Nyaplot is a compound word from 'Nya' and 'plot.' The word 'Nya' comes from an onomatopoeia of cat's meow in Japanese.

URL: https://github.com/domitry/nyaplot


Collaborative filtering for Ruby

Supports user-based and item-based recommendations
Works with explicit and implicit feedback
Uses high-performance matrix factorization

URL: https://github.com/ankane/disco


xLearn - the high-performance machine learning library - for Ruby


Linear models
Factorization machines
Field-aware factorization machines

URL: https://github.com/ankane/xlearn


fastText - efficient text classification and representation learning - for Ruby

URL: https://github.com/ankane/fasttext

Menoh Ruby Extension

This is a Ruby extension of Menoh; an ONNX runtime engine developed by @okdshin and their team @pfnet-research.

URL: https://github.com/pfnet-research/menoh-ruby


This library provides the features to directly call and partially interoperate with Python from the Ruby language. You can import arbitrary Python modules into Ruby modules, call Python functions with automatic type conversion from Ruby to Python.

URL: https://github.com/mrkn/pycall



This curated list comprises awesome resources, libraries, information sources about computational processing of texts in human languages with the Ruby programming language. That field is often referred to as NLP, Computational Linguistics, HLT (Human Language Technology) and can be brought in conjunction with Artificial Intelligence, Machine Learning, Information Retrieval, Text Mining, Knowledge Extraction and other related disciplines.

Posted on by:

daviducolo profile

Davide Santangelo


developer - dad. APIs specialist, In love with #ruby, #rails and #python - developer at @getchorally


Editor guide

Ankane has several Ruby ML-related gems that I have found to be extremely helpful. ankane.org/


Great reminder of alternatives for machine learning besides Python! Thanks Davide