Awesome Machine Learning with Ruby
Curated list: Resources for machine learning in Ruby
This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.
Tutorials
Machine Learning Libraries
Machine Learning
algorithms in pure Ruby or written in other programming languages with appropriate bindings for Ruby.
Machine Learning Libraries >Frameworks
LangChain.rb
Build ML/AI-supercharged applications with Ruby's LangChain.
weka
JRuby bindings for Weka, different ML algorithms implemented through Weka.
ai4r
Artificial Intelligence for Ruby.
classifier-reborn
General classifier module to allow Bayesian and other types of classifications. [dep: GLS]
scoruby
Ruby scoring API for PMML (Predictive Model Markup Language).
rblearn
Feature Extraction and Crossvalidation library.
data_modeler
Model your data with machine learning. Ample test coverage, examples to start fast, complete documentation. Production ready since 1.0.0.
aws-sdk-machinelearning
Machine Learning API of the Amazon Web Services.
azure_mgmt_machine_learning
Machine Learning API of the Microsoft Azure.
Deep NeuroEvolution
Experimental setup based on the machine_learning_workbench towards searching for deep neural networks (rather than training) using evolutionary algorithms. Applications to the OpenAI Gym using PyCall.
rumale
Machine Learninig toolkit in Ruby with wide range of implemented algorithms (SVM, Logistic Regression, Linear Regression, Random Forest etc.) and interfaces similar to Scikit-Learn in Python.
eps
Bayesian Classification and Linear Regression with exports using PMML and an alternative backend using GSL.
ruby-openai
OpenAI API wrapper
Instruct
Inspired by Guidance; weave code, prompts and completions together to instruct LLMs to do what you want.
Machine Learning Libraries >Neural networks
neural-net-ruby
Neural network written in Ruby.
ruby-fann
Ruby bindings to the Fast Artificial Neural Network Library (FANN).
cerebrum
Experimental implementation for Artificial Neural Networks in Ruby.
tlearn-rb
Recurrent Neural Network library for Ruby.
brains
Feed-forward neural networks for JRuby based on brains.
rann
Flexible Ruby ANN implementation with backprop (through-time, for recurrent nets), gradient checking, adagrad, and parallel batch execution.
Machine Learning Libraries >Deep learning
tensor_stream
Ground-up and standalone reimplementation of TensorFlow for Ruby.
red-chainer
Deep learning framework for Ruby.
tensorflow
Ruby bindings for TensorFlow.
ruby-dnn
Simple deep learning for Ruby.
torch-rb
Ruby bindings for LibTorch using rice.
mxnet
Ruby bindings for mxnet.
Machine Learning Libraries >Kernel methods
Machine Learning Libraries >Evolutionary algorithms
simple_ga
Simplest Genetic Algorithms implementation in Ruby.
Machine Learning Libraries >Bayesian methods
linnaeus
Redis-backed Bayesian classifier.
naive_bayes
Simple Naive Bayes classifier.
nbayes
Full-featured, Ruby implementation of Naive Bayes.
Machine Learning Libraries >Decision trees
decisiontree
Decision Tree ID3 Algorithm in pure Ruby. [dep: GraphViz | post].
Machine Learning Libraries >Clustering
kmeans-clusterer
k-means clustering in Ruby.
k_means
Attempting to build a fast, memory efficient K-Means program.
knn
Simple K Nearest Neighbour Algorithm.
Machine Learning Libraries >Linear classifiers
liblinear-ruby-swig
Ruby interface to LIBLINEAR (much more efficient than LIBSVM for text classification).
liblinear-ruby
Ruby interface to LIBLINEAR using SWIG.
Machine Learning Libraries >Statistical models
rtimbl
Memory based learners from the Timbl framework.
lda-ruby
Ruby implementation of the LDA (Latent Dirichlet Allocation) for automatic Topic Modelling and Document Clustering.
maxent_string_classifier
JRuby maximum entropy classifier for string data, based on the OpenNLP Maxent framework.
omnicat
Generalized rack framework for text classifications.
omnicat-bayes
Naive Bayes text classification implementation as an OmniCat classifier strategy. [dep: bundled]
Machine Learning Libraries >Gradient boosting
Machine Learning Libraries >Vector search
flann
Ruby bindings for the FLANN (Fast Library for Approximate Nearest Neighbors). [flann]
annoy-rb
Ruby bindings for the Annoy (Approximate Nearest Neighbors Oh Yeah).
hnswlib.rb
Ruby bindings for the Hnswlib that implements approximate nearest neighbor search with Hierarchical Navigable Small World graphs.
ngt-ruby
Ruby bindings for the NGT (Neighborhood Graph and Tree for Indexing High-dimensional data).
milvus
Ruby client for Milvus Vector DB.
pinecone
Ruby client for Pinecone Vector DB.
qdrant-ruby
Ruby wrapper for the Qdrant vector search database API.
weaviate-ruby
Ruby wrapper for the Weaviate vector search database API.
Applications of machine learning
phashion
Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files. [ImageMagick | libjpeg]
Projects and Code Examples
Wine Clustering
Wine quality estimations clustered with different algorithms.
simple_ga
Simplest Genetic Algorithms implementation in Ruby.
Handwritten Digits Recognition
Handwritten digits recognition using Neural Networks and Ruby.
Heroku buildpacks
Books, Blogs, Channels
Kirk, Matthew
. Thoughtful Machine Learning: A Test-Driven Approach. O'Reilly, 2014. [Amazon | code]
Practical Artificial Intelligence
Blog about Artificial Intelligence and Machine Learning with tutorials and code samples in Ruby.
Community
SciRuby Mailing List
An active mailing list and an excellent resource to ask questions and learn fine-grained details about DDD/CQRS.
Related Resources
LightGBM
Microsoft's fast, distributed, high performance gradient boosting (GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.
XGBoost
Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Flink and DataFlow. [Apache2]
OpenCV
An open source computer vision and machine learning library with extensive support for image and video analysis. Often used for video processing tasks like object detection, tracking, and filtering.
Graphviz
Cross-platform software to draw graphs in the DOT graph drawing language.
X11/XQuartz
X.Org X Window System server for running X11 applications on macOS. š š¢
R
R is a free software environment for statistical computing and graphics.
Octave
is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization andā¦
Awesome Ruby
Among other awesome items a short list of NLP related projects.
Speech and Natural Language Processing
General List of NLP related resources (mostly not for Ruby programmers).
Scientific Ruby
Linear Algebra, Visualization and Scientific Computing for Ruby.
iRuby
IRuby kernel for Jupyter (formerly IPython).
Kiba
Lightweight ETL (Extract, Transform, Load) pipeline.
Awesome OCR
Multitude of OCR (Optical Character Recognition) resources.
Awesome TensorFlow
Machine Learning with TensorFlow libraries.
rb-gsl
Ruby interface to the GNU Scientific Library.
The Definitive Guide to Ruby's C API
Modern Reference and Tutorial on Embedding and Extending Ruby using C programming language.
Related lists in Computer Science
See categoryAwesome Rust
rust-unofficial/awesome-rust
A curated list of Rust code and resources.
Table of Contents
hesreallyhim/awesome-claude-code
A hand-picked collection of the finest of resources for the most awesome of agents, Claude Code, the undisputed champion of coding companions, from the unstoppable teamā¦
Awesome Mac
jaywcjlove/awesome-mac
 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.
Awesome Agent Skills
VoltAgent/awesome-agent-skills
A curated collection of 1000+ agent skills from official dev teams and the community, compatible with Claude Code, Codex, Gemini CLI, Cursor, and more.
Awesome Python
vinta/awesome-python
The definitive list that answers "I want to do X in Python, which tool should I use?"
Awesome C++
fffaraz/awesome-cpp
A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.