Machine Learning - ML with Ruby
Contents_Index
- TUTORIALS10
- FRAMEWORKS16
- NEURAL NETWORKS7
- DEEP LEARNING6
- KERNEL METHODS1
- EVOLUTIONARY ALGORITHMS2
- BAYESIAN METHODS3
- DECISION TREES1
- CLUSTERING3
- LINEAR CLASSIFIERS2
- STATISTICAL MODELS5
- GRADIENT BOOSTING3
- VECTOR SEARCH8
- APPLICATIONS OF MACHINE LEARNING1
- ARTICLES, POSTS, TALKS, AND PRESENTATIONS5
- PROJECTS AND CODE EXAMPLES3
- HEROKU BUILDPACKS3
- BOOKS, BLOGS, CHANNELS2
- COMMUNITY10
- RELATED RESOURCES20
Tutorials
10_ENTRIESPlease help us to fill out this section!
Frameworks
16_ENTRIES- 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]
- 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.
- shogun
Polyfunctional and mature machine learning toolbox with Ruby bindings.
- aws-sdk-machinelearning
Machine Learning API of the Amazon Web Services.
- azure_mgmt_machine_learning
Machine Learning API of the Microsoft Azure.
- machine_learning_workbench
Growing machine learning framework written in pure Ruby, high performance computing using Numo, CUDA bindings through Cumo. Currently implementating neural networks, evolutionary strategies, vector quantization, and plenty of examples and utilities.
- 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.
- ruby-openai
OpenAI API wrapper
- Instruct
Inspired by Guidance; weave code, prompts and completions together to instruct LLMs to do what you want.
Neural networks
7_ENTRIES- 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.
- machine_learning_workbench
Framework including pure-Ruby implementation of both feed-forward and recurrent neural networks (fully connected). Training available using neuroevolution (Natural Evolution Strategies algorithms).
- rann
Flexible Ruby ANN implementation with backprop (through-time, for recurrent nets), gradient checking, adagrad, and parallel batch execution.
Deep learning
6_ENTRIES- 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.
Kernel methods
1_ENTRIES- rb-libsvm
Support Vector Machines with Ruby and the LIBSVM library. [dep: bundled]
Evolutionary algorithms
2_ENTRIES- machine_learning_workbench
Framework including pure-Ruby implementations of Natural Evolution Strategy algorithms (black-box optimization), specifically Exponential NES (XNES), Separable NES (sNES), Block-Diagonal NES (BDNES) and more. Applications include neural network search/training (neuroevolution).
- simple_ga
Simplest Genetic Algorithms implementation in Ruby.
Bayesian methods
3_ENTRIES- linnaeus
Redis-backed Bayesian classifier.
- naive_bayes
Simple Naive Bayes classifier.
- nbayes
Full-featured, Ruby implementation of Naive Bayes.
Decision trees
1_ENTRIES- decisiontree
Decision Tree ID3 Algorithm in pure Ruby. [dep: GraphViz | post].
Clustering
3_ENTRIES- 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.
Linear classifiers
2_ENTRIES- liblinear-ruby-swig
Ruby interface to LIBLINEAR (much more efficient than LIBSVM for text classification).
- liblinear-ruby
Ruby interface to LIBLINEAR using SWIG.
Statistical models
5_ENTRIES- rtimbl
Memory based learners from the Timbl framework.
- 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]
Gradient boosting
3_ENTRIES- xgboost
Ruby bindings for XGBoost. [dep: XGBoost]
- xgb
Ruby bindings for XGBoost. [dep: XGBoost]
- lightgbm
Ruby bindings for LightGBM. [dep: LightGBM]
Vector search
8_ENTRIES- hnswlib.rb
Ruby bindings for the Hnswlib that implements approximate nearest neighbor search with Hierarchical Navigable Small World graphs.
- 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
1_ENTRIES- phashion
Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files. [ImageMagick | libjpeg]
Articles, Posts, Talks, and Presentations
5_ENTRIES-
2022_Discover Machine Learning in Ruby_ by Justin Bowen [video]
-
2018_Deep Learning Programming on Ruby_ by Kenta Murata & Yusaku Hatanaka [slides | page]How to use trained Keras and TensorFlow machine learning models within Ruby on Rails by Denis Sellu [post]
-
2015_Machine Learning made simple with Ruby_ by Lorenzo Masini [post]Using Ruby Machine Learning to Find Paris Hilton Quotes by Rick Carlino [[tutorial]…
- 2019_TensorStream
2019_TensorStream: Bringing Machine Learning to Ruby_ by Joseph Emmanuel Dayo [post]Easy machine learning with Ruby using SVMKit by @kojix [post]
- 2017_Scientific Computing on JRuby_ b...
2017_Scientific Computing on JRuby_ by Prasun Anand [slides | video | slides | slides]Is it Food? An Introduction to Machine Learning by [Matthew Mo…
- 2016_Practical Machine Learning with ...
2016_Practical Machine Learning with Ruby_ by Jordan Hudgens [tutorial]Deep Learning: An Introduction for Ruby Developers by Geoffrey Litt [slides]How I made a pure-Ruby word2vec program more than 3x faster by Kei Sawada [[slides](ht…
- 2013_Sentiment Analysis using Support...
2013_Sentiment Analysis using Support Vector Machines in Ruby_ by Matthew Kirk [video | code]Recommender Systems with Ruby by Marcel Caraciolo [slides]Detecting Faces with Ruby: FFI in a Nutshell by Marc Berszick…
- 2010_bayes_motel – Bayesian classific...
2010_bayes_motel – Bayesian classification for Ruby_ by Mike Perham [post]Intelligent Ruby: Getting Started with Machine Learning by Ilya Grigorik [video]
Projects and Code Examples
3_ENTRIES- Wine Clustering
Wine quality estimations clustered with different algorithms.
- simple_ga
Basic (working) demo of Genetic Algorithms in Ruby.
- Handwritten Digits Recognition
Handwritten digits recognition using Neural Networks and Ruby.
Heroku buildpacks
3_ENTRIESBooks, Blogs, Channels
2_ENTRIES- 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.