DEV Community

Cover image for Machine Learning with Ruby
Davide Santangelo
Davide Santangelo

Posted on

Machine Learning with Ruby

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

Numo

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

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

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

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

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

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

Disco

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

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

Supports:

Linear models
Factorization machines
Field-aware factorization machines

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

fastText

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

PyCall

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

NOTE:

https://github.com/arbox/nlp-with-ruby#text-extraction

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.

Top comments (2)

Collapse
 
mb52089 profile image
Mike

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

Collapse
 
thisdotmedia_staff profile image
This Dot Media

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