{"id":247,"url":"https://github.com/arbox/machine-learning-with-ruby","name":"machine-learning-with-ruby","description":"Curated list: Resources for machine learning in Ruby","projects_count":216,"last_synced_at":"2026-04-13T02:00:51.154Z","repository":{"id":40807559,"uuid":"88849240","full_name":"arbox/machine-learning-with-ruby","owner":"arbox","description":"Curated list: Resources for machine learning in Ruby","archived":false,"fork":false,"pushed_at":"2024-12-26T17:58:24.000Z","size":472,"stargazers_count":2214,"open_issues_count":6,"forks_count":181,"subscribers_count":116,"default_branch":"master","last_synced_at":"2026-03-01T15:31:07.435Z","etag":null,"topics":["awesome","awesome-list","list","machine-learning","ml","ruby","ruby-gem","rubyml","rubynlp"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arbox.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":"contributing.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["arbox"]}},"created_at":"2017-04-20T09:44:48.000Z","updated_at":"2026-02-21T22:59:54.000Z","dependencies_parsed_at":"2022-07-12T18:03:33.494Z","dependency_job_id":"a962c09f-07eb-4395-96cf-c2d3c2eb4dfc","html_url":"https://github.com/arbox/machine-learning-with-ruby","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/arbox/machine-learning-with-ruby","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbox%2Fmachine-learning-with-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbox%2Fmachine-learning-with-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbox%2Fmachine-learning-with-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbox%2Fmachine-learning-with-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arbox","download_url":"https://codeload.github.com/arbox/machine-learning-with-ruby/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbox%2Fmachine-learning-with-ruby/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30238265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T23:52:25.683Z","status":"ssl_error","status_checked_at":"2026-03-07T23:52:25.373Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"readme":"\u003cimg title=\"Awesome Machine Learning with Ruby\" alt=\"Awesome Machine Learning with Ruby\" src=\"header.png\" align=\"center\"\u003e\n\n[![Awesome](https://awesome.re/badge-flat.svg)](https://github.com/sindresorhus/awesome#readme) [![Support Me](https://img.shields.io/badge/%F0%9F%92%97-Support%20Me-blue.svg?style=flat-square)](https://www.patreon.com/arbox)\n\n[[RubyNLP](https://github.com/arbox/nlp-with-ruby) |\n [RubyDataScience](https://github.com/arbox/data-science-with-ruby) |\n [RubyInterop](https://github.com/arbox/ruby-interoperability)]\n\n# Awesome Machine Learning with Ruby [\u003cimg src=\"ruby.jpg\" align=\"left\" width=\"30px\" height=\"30px\" /\u003e][ruby]\n\n\u003e Curated List of Ruby Machine Learning Links and Resources\n\n[Machine Learning][ml] is a field of [Computational Science][cs] -\noften nested under [AI][ai] research - with many practical\napplications due to the ability of resulting algorithms to\nsystematically implement a specific solution without explicit\nprogrammer's instructions. Obviously many algorithms need a definition\nof [features][fe] to look at or a biggish [training set][ts] of data to derive the\nsolution from.\n\nThis curated list comprises [_awesome_][awesome] libraries,\ndata sources, tutorials and presentations about [Machine Learning][ml]\nutilizing the [Ruby][ruby] programming language.\n\nA lot of useful resources on this list come from the development by\n[The Ruby Science Foundation][sciruby], our [contributors][contributors] and\nour own day to day work on various ML applications.\n\n:sparkles: Every [contribution](contributing.md) is welcome! Add links through pull\nrequests or create an issue to start a discussion.\n\nFollow us on [Twitter](https://twitter.com/NonWebRuby) and please spread\nthe word using the `#RubyML` hash tag!\n\n\u003c!-- nodoc --\u003e\n## Contents\n\n\u003c!-- toc --\u003e\n\n- [:sparkles: Tutorials](#sparkles-tutorials)\n- [Machine Learning Libraries](#machine-learning-libraries)\n  * [Frameworks](#frameworks)\n  * [Neural networks](#neural-networks)\n  * [Deep Learning](#deep-learning)\n  * [Kernel methods](#kernel-methods)\n  * [Evolutionary algorithms](#evolutionary-algorithms)\n  * [Bayesian methods](#bayesian-methods)\n  * [Decision trees](#decision-trees)\n  * [Clustering](#clustering)\n  * [Linear classifiers](#linear-classifiers)\n  * [Statistical models](#statistical-models)\n  * [Gradient boosting](#gradient-boosting)\n  * [Vector search](#vector-search)\n- [Applications of machine learning](#applications-of-machine-learning)\n- [Data structures](#data-structures)\n- [Data visualization](#data-visualization)\n- [Articles, Posts, Talks, and Presentations](#articles-posts-talks-and-presentations)\n- [Projects and Code Examples](#projects-and-code-examples)\n- [Heroku buildpacks](#heroku-buildpacks)\n- [Books, Blogs, Channels](#books-blogs-channels)\n- [Community](#community)\n- [Related Resources](#related-resources)\n- [License](#license)\n\n\u003c!-- tocstop --\u003e\n\n\u003c!-- doc --\u003e\n\n## :sparkles: Tutorials\n\nPlease help us to fill out this section! :smiley:\n- [Ruby neural networks](https://www.honeybadger.io/blog/ruby-neural-networks/)\n- [How to implement linear regression in Ruby](https://www.practicalai.io/implementing-linear-regression-using-ruby/)\n  \u003csup\u003e[[code](https://github.com/daugaard/example-linear-regression)]\u003c/sup\u003e\n- [How to implement classification using logistic regression in Ruby](https://www.practicalai.io/implementing-classification-using-logistic-regression-in-ruby/)\n- [How to implement simple binary classification using a Neural Network in Ruby](https://www.practicalai.io/implementing-simple-classification-using-neural-network-in-ruby/)\n  \u003csup\u003e[[code](https://github.com/daugaard/example-neural-network)]\u003c/sup\u003e\n- [How to implement classification using a SVM in Ruby](https://www.practicalai.io/implementing-classification-using-a-svm-in-ruby/)\n  \u003csup\u003e[[code](https://github.com/daugaard/example-svm)]\u003c/sup\u003e\n- [Unsupervised learning using k-means clustering in Ruby](https://www.practicalai.io/unsupervised-learning-using-k-means-clustering-in-ruby/)\n  \u003csup\u003e[[code](https://github.com/daugaard/example-kmeans-clustering)]\u003c/sup\u003e\n- [Teaching an AI to play a simple game using Q-Learning in Ruby](https://www.practicalai.io/teaching-ai-play-simple-game-using-q-learning/)\n  \u003csup\u003e[[code](https://github.com/daugaard/q-learning-simple-game)]\u003c/sup\u003e\n- [Teaching a Neural Network to play a game using Q-Learning in Ruby](https://www.practicalai.io/teaching-a-neural-network-to-play-a-game-with-q-learning/)\n  \u003csup\u003e[[code](https://github.com/daugaard/q-learning-simple-game/tree/neuralnetwork)]\u003c/sup\u003e\n- [Using the Python scikit-learn machine learning library in Ruby using PyCall](https://www.practicalai.io/using-scikit-learn-machine-learning-library-in-ruby-using-pycall/)\n  \u003csup\u003e[[code](https://github.com/daugaard/scikit-learn-from-ruby)]\u003c/sup\u003e\n- [How to _evolve_ neural networks in Ruby using the Machine Learning Workbench](https://github.com/giuse/machine_learning_workbench/blob/master/examples/neuroevolution.rb)\n\n## Machine Learning Libraries\n\n[Machine Learning][ml] algorithms in pure Ruby or written in other\nprogramming languages with appropriate bindings for Ruby.\n\n### Frameworks\n\n- [LangChain.rb](https://github.com/andreibondarev/langchainrb) -\n  Build ML/AI-supercharged applications with Ruby's LangChain.\n- [weka](https://github.com/paulgoetze/weka-jruby) -\n  JRuby bindings for Weka, different ML algorithms implemented through Weka.\n- [ai4r](https://github.com/SergioFierens/ai4r) -\n  Artificial Intelligence for Ruby.\n- [classifier-reborn](https://github.com/jekyll/classifier-reborn) -\n  General classifier module to allow Bayesian and other types of classifications.\n  \u003csup\u003e[[dep: GLS](#gls)]\u003c/sup\u003e\n- [scoruby](https://github.com/asafschers/scoruby) -\n  Ruby scoring API for [PMML](http://dmg.org/pmml/v4-3/GeneralStructure.html) (Predictive Model Markup Language).\n- [rblearn](https://github.com/himkt/rblearn) - Feature Extraction and Crossvalidation library.\n- [data_modeler](https://github.com/giuse/data_modeler) -\n  Model your data with machine learning. Ample test coverage, examples to start fast, complete documentation. Production ready since 1.0.0.\n- [shogun](https://github.com/shogun-toolbox/shogun) - Polyfunctional and mature\n  machine learning toolbox with [Ruby bindings](https://github.com/shogun-toolbox/shogun/tree/develop/src/interfaces/ruby).\n- [aws-sdk-machinelearning](https://github.com/aws/aws-sdk-ruby) -\n  Machine Learning API of the Amazon Web Services.\n- [azure_mgmt_machine_learning](https://github.com/Azure/azure-sdk-for-ruby) -\n  Machine Learning API of the Microsoft Azure.\n- [machine_learning_workbench](https://github.com/giuse/machine_learning_workbench) -\n  Growing machine learning framework written in pure Ruby, high performance computing using\n  [Numo](https://github.com/ruby-numo/), CUDA bindings through [Cumo](https://github.com/sonots/cumo).\n  Currently implementating neural networks, evolutionary strategies, vector quantization, and plenty of\n  examples and utilities.\n- [Deep NeuroEvolution](https://github.com/giuse/DNE) -\n  Experimental setup based on the [machine_learning_workbench](https://github.com/giuse/machine_learning_workbench)\n  towards searching for deep neural networks (rather than training) using evolutionary algorithms. Applications to the\n  [OpenAI Gym](https://github.com/openai/gym) using [PyCall](https://github.com/mrkn/pycall.rb).\n- [rumale](https://github.com/yoshoku/rumale) -\n  Machine Learninig toolkit in Ruby with wide range of implemented algorithms\n  (SVM, Logistic Regression, Linear Regression, Random Forest etc.) and\n  interfaces similar to [Scikit-Learn][scikit] in Python.\n- [eps](https://github.com/ankane/eps) - Bayesian Classification and Linear Regression with exports\n  using [PMML](http://dmg.org/pmml/v4-3/GeneralStructure.html) and an alternative backend using [GSL][gsl].\n- [ruby-openai](https://github.com/alexrudall/ruby-openai) - OpenAI API wrapper\n- [Instruct](https://github.com/instruct-rb/instruct) - Inspired by Guidance; weave code, prompts and completions together to instruct LLMs to do what you want.\n  \n### Neural networks\n\n- [neural-net-ruby](https://github.com/gbuesing/neural-net-ruby) -\n  Neural network written in Ruby.\n- [ruby-fann](https://github.com/tangledpath/ruby-fann) -\n  Ruby bindings to the [Fast Artificial Neural Network Library (FANN)](http://leenissen.dk/fann/wp/).\n- [cerebrum](https://github.com/irfansharif/cerebrum) -\n  Experimental implementation for Artificial Neural Networks in Ruby.\n- [tlearn-rb](https://github.com/josephwilk/tlearn-rb) -\n  Recurrent Neural Network library for Ruby.\n- [brains](https://github.com/jedld/brains-jruby) -\n  Feed-forward neural networks for JRuby based on\n  [brains](https://github.com/jedld/brains).\n- [machine_learning_workbench](https://github.com/giuse/machine_learning_workbench/tree/master/lib/machine_learning_workbench/neural_network) -\n  Framework including pure-Ruby implementation of both feed-forward and recurrent neural networks\n  (fully connected). Training available using neuroevolution (Natural Evolution Strategies algorithms).\n- [rann](https://github.com/mikecmpbll/rann) -\n  Flexible Ruby ANN implementation with backprop (through-time, for recurrent\n  nets), gradient checking, adagrad, and parallel batch execution.\n\n### Deep learning\n\n- [tensor_stream](https://github.com/jedld/tensor_stream) -\n  Ground-up and standalone reimplementation of TensorFlow for Ruby.\n- [red-chainer](https://github.com/red-data-tools/red-chainer) - Deep learning framework for Ruby.\n- [tensorflow](https://github.com/somaticio/tensorflow.rb) - Ruby bindings for [TensorFlow](https://www.tensorflow.org/).\n- [ruby-dnn](https://github.com/unagiootoro/ruby-dnn) - Simple deep learning for Ruby.\n- [torch-rb](https://github.com/ankane/torch-rb) - Ruby bindings for [LibTorch](https://github.com/pytorch/pytorch)\n  using [rice](https://github.com/jasonroelofs/rice).\n- [mxnet](https://github.com/mrkn/mxnet.rb) - Ruby bindings for [mxnet](https://mxnet.apache.org/).\n\n### Kernel methods\n\n- [rb-libsvm](https://github.com/febeling/rb-libsvm) -\n  Support Vector Machines with Ruby and the [LIBSVM](https://www.csie.ntu.edu.tw/~cjlin/libsvm/) library.\n  \u003csup\u003e[[dep: bundled](#bundled)]\u003c/sup\u003e\n\n### Evolutionary algorithms\n\n- [machine_learning_workbench](https://github.com/giuse/machine_learning_workbench/tree/master/lib/machine_learning_workbench/optimizer/natural_evolution_strategies) -\n  Framework including pure-Ruby implementations of Natural Evolution Strategy algorithms\n  (black-box optimization), specifically Exponential NES (XNES),\n  Separable NES (sNES), Block-Diagonal NES (BDNES) and more.\n  Applications include neural network search/training (neuroevolution).\n- [simple_ga](https://github.com/giuse/simple_ga) -\n  Simplest Genetic Algorithms implementation in Ruby.\n\n### Bayesian methods\n\n- [linnaeus](https://github.com/djcp/linnaeus) -\n  Redis-backed Bayesian classifier.\n- [naive_bayes](https://github.com/reddavis/Naive-Bayes) -\n  Simple Naive Bayes classifier.\n- [nbayes](https://github.com/oasic/nbayes) -\n  Full-featured, Ruby implementation of Naive Bayes.\n\n### Decision trees\n\n- [decisiontree](https://github.com/igrigorik/decisiontree) -\n  Decision Tree ID3 Algorithm in pure Ruby.\n  \u003csup\u003e[[dep: GraphViz](#graphviz) |\n        [post](https://www.igvita.com/2007/04/16/decision-tree-learning-in-ruby/)]\u003c/sup\u003e.\n\n### Clustering\n\n- [kmeans-clusterer](https://github.com/gbuesing/kmeans-clusterer) -\n  k-means clustering in Ruby.\n- [k_means](https://github.com/reddavis/K-Means) -\n  Attempting to build a fast, memory efficient K-Means program.\n- [knn](https://github.com/reddavis/knn) -\n  Simple K Nearest Neighbour Algorithm.\n\n### Linear classifiers\n\n- [liblinear-ruby-swig](https://github.com/tomz/liblinear-ruby-swig) -\n  Ruby interface to LIBLINEAR (much more efficient than LIBSVM for text classification).\n- [liblinear-ruby](https://github.com/kei500/liblinear-ruby) -\n  Ruby interface to LIBLINEAR using SWIG.\n\n### Statistical models\n\n- [rtimbl](https://github.com/maspwr/rtimbl) -\n  Memory based learners from the Timbl framework.\n- [lda-ruby](https://github.com/ealdent/lda-ruby) -\n  Ruby implementation of the [LDA](https://en.wikipedia.org/wiki/Latent_Dirichlet_allocation)\n  (Latent Dirichlet Allocation) for automatic Topic Modelling and Document Clustering.\n- [maxent_string_classifier](https://github.com/mccraigmccraig/maxent_string_classifier) -\n  JRuby maximum entropy classifier for string data, based on the OpenNLP Maxent framework.\n- [omnicat](https://github.com/mustafaturan/omnicat) -\n  Generalized rack framework for text classifications.\n- [omnicat-bayes](https://github.com/mustafaturan/omnicat-bayes) -\n  Naive Bayes text classification implementation as an OmniCat classifier strategy.\n  \u003csup\u003e[[dep: bundled](#bundled)]\u003c/sup\u003e\n\n### Gradient boosting\n\n- [xgboost](https://github.com/PairOnAir/xgboost-ruby) \u0026mdash;\n  Ruby bindings for XGBoost.\n  \u003csup\u003e[[dep: XGBoost](#xgboost)]\u003c/sup\u003e\n- [xgb](https://github.com/ankane/xgb) \u0026mdash;\n  Ruby bindings for XGBoost.\n  \u003csup\u003e[[dep: XGBoost](#xgboost)]\u003c/sup\u003e\n- [lightgbm](https://github.com/ankane/lightgbm) \u0026mdash;\n  Ruby bindings for LightGBM.\n  \u003csup\u003e[[dep: LightGBM](#lightgbm)]\u003c/sup\u003e\n\n### Vector search\n\n- [flann](https://github.com/mariusmuja/flann) -\n  Ruby bindings for the [FLANN](https://github.com/flann-lib/flann) (Fast Library for Approximate Nearest Neighbors).\n  \u003csup\u003e[[flann](#flann)]\u003c/sup\u003e\n- [annoy-rb](https://github.com/yoshoku/annoy.rb) -\n  Ruby bindings for the [Annoy](https://github.com/spotify/annoy) (Approximate Nearest Neighbors Oh Yeah).\n- [hnswlib.rb](https://github.com/yoshoku/hnswlib.rb) -\n  Ruby bindings for the [Hnswlib](https://github.com/nmslib/hnswlib) that implements approximate nearest neighbor search with Hierarchical Navigable Small World graphs.\n- [ngt-ruby](https://github.com/ankane/ngt-ruby) -\n  Ruby bindings for the [NGT](https://github.com/yahoojapan/NGT) (Neighborhood Graph and Tree for Indexing High-dimensional data).\n- [milvus](https://github.com/andreibondarev/milvus) \u0026mdash;\n  Ruby client for Milvus Vector DB.\n- [pinecone](https://github.com/ScotterC/pinecone) \u0026mdash;\n  Ruby client for Pinecone Vector DB.\n- [qdrant-ruby](https://github.com/andreibondarev/qdrant-ruby) \u0026mdash;\n  Ruby wrapper for the Qdrant vector search database API.\n- [weaviate-ruby](https://github.com/andreibondarev/weaviate-ruby) \u0026mdash;\n  Ruby wrapper for the Weaviate vector search database API.\n\n## Applications of machine learning\n\n- [phashion](https://github.com/westonplatter/phashion) -\n  Ruby wrapper around pHash, the perceptual hash library for detecting duplicate multimedia files.\n  \u003csup\u003e[[ImageMagick](#imagemagick) | [libjpeg](#libjpeg)]\u003c/sup\u003e\n\n## Data structures\n\nIf you're going to implement your own ML algorithms you're probably interested\nin storing your feature sets efficiently. Look for appropriate\n[data structures](https://github.com/arbox/data-science-with-ruby#data-structures)\nin our [Data Science with Ruby][ds-with-ruby] list.\n\n## Data visualization\n\nPlease refer to the [Data Visualization](https://github.com/arbox/data-science-with-ruby#visualization)\nsection on the [Data Science with Ruby][ds-with-ruby] list.\n\n## Articles, Posts, Talks, and Presentations\n\n- 2022\n  - _Discover Machine Learning in Ruby_ by [Justin Bowen](https://twitter.com/TonsOfFun111)\n   \u003csup\u003e[[video](https://www.youtube.com/watch?v=HPbizNgcyFk)]\u003c/sup\u003e\n- 2019\n  - _TensorStream: Bringing Machine Learning to Ruby_ by [Joseph Emmanuel Dayo](https://www.linkedin.com/in/jdayo/)\n    \u003csup\u003e[[post](https://medium.com/@joseph.dayo/tensorstream-bringing-machine-learning-to-ruby-114582060e3d)]\u003c/sup\u003e\n  - _Easy machine learning with Ruby using SVMKit_ by [@kojix](https://twitter.com/kojix2dayo)\n    \u003csup\u003e[[post](https://dev.to/kojix2/easy-machine-learning-with-ruby-using-svmkit-4n86)]\u003c/sup\u003e\n- 2018\n  - _Deep Learning Programming on Ruby_ by [Kenta Murata](https://twitter.com/mrkn)\n    \u0026amp; [Yusaku Hatanaka ](https://twitter.com/hatappi)\n    \u003csup\u003e[[slides](https://speakerdeck.com/mrkn/deep-learning-programming-on-ruby) |\n          [page](https://rubykaigi.org/2018/presentations/mrkn.html)]\u003c/sup\u003e\n  - _How to use trained Keras and TensorFlow machine learning models within Ruby on Rails_ by [Denis Sellu](https://twitter.com/denis_sellu)\n    \u003csup\u003e[[post](https://www.cookieshq.co.uk/posts/how-to-use-trained-keras-and-tensorflow-machine-learning-models-within-ruby-on-rails)]\u003c/sup\u003e\n- 2017\n  - _Scientific Computing on JRuby_ by [Prasun Anand](https://twitter.com/prasun_anand)\n    \u003csup\u003e[[slides](https://www.slideshare.net/PrasunAnand2/fosdem2017-scientific-computing-on-jruby) |\n    [video](https://ftp.fau.de/fosdem/2017/K.4.201/ruby_scientific_computing_on_jruby.mp4) |\n    [slides](https://www.slideshare.net/PrasunAnand2/scientific-computing-on-jruby) |\n    [slides](https://www.slideshare.net/PrasunAnand2/scientific-computation-on-jruby)]\u003c/sup\u003e\n  - _Is it Food? An Introduction to Machine Learning_ by [Matthew Mongeau](https://twitter.com/halogenandtoast)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=8G709hKkthY) |\n          [slides](https://www.slideshare.net/halogenandtoast/is-it-food)]\u003c/sup\u003e\n  - _Bayes is BAE_ by [Richard Schneeman](https://twitter.com/schneems)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=bQSzZrDDV80) |\n          [slides](https://speakerdeck.com/schneems/bayes-is-bae)]\u003c/sup\u003e\n  - _Ruby Roundtable: Machine Learning in Ruby_ by [RubyThursday](https://rubythursday.com/)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=ScIFARN0jCo)]\u003c/sup\u003e\n- 2016\n  - _Practical Machine Learning with Ruby_ by [Jordan Hudgens](https://twitter.com/jordanhudgens)\n    \u003csup\u003e[[tutorial](https://www.crondose.com/2016/12/practical-machine-learning-ruby/)]\u003c/sup\u003e\n  - _Deep Learning: An Introduction for Ruby Developers_ by [Geoffrey Litt](https://twitter.com/geoffreylitt)\n    \u003csup\u003e[[slides](https://speakerdeck.com/geoffreylitt/deep-learning-an-introduction-for-ruby-developers)]\u003c/sup\u003e\n  - _How I made a pure-Ruby word2vec program more than 3x faster_ by [Kei Sawada](https://twitter.com/remore)\n    \u003csup\u003e[[slides](https://speakerdeck.com/remore/how-i-made-a-pure-ruby-word2vec-program-more-than-3x-faster)]\u003c/sup\u003e\n  - _Dōmo arigatō, Mr. Roboto: Machine Learning with Ruby_ by [Eric Weinstein](https://twitter.com/ericqweinstein)\n    \u003csup\u003e[[slides](https://speakerdeck.com/ericqweinstein/domo-arigato-mr-roboto-machine-learning-with-ruby) |\n          [video](https://www.youtube.com/watch?v=T1nFQ49TyeA)]\u003c/sup\u003e\n  - _Building a Recommendation Engine with Machine Learning Techniques_ by [Brian Sam-Bodden](https://twitter.com/bsbodden)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=SRnM_P_ygqI)]\u003c/sup\u003e\n  - :sparkles: _SciRuby Machine Learning: Current Status and Future_ by [Kenta Murata](https://twitter.com/mrkn)\n    \u003csup\u003e[[slides](https://speakerdeck.com/mrkn/sciruby-machine-learning-current-status-and-future) |\n          [video: jp](https://www.youtube.com/watch?v=gfQ8XEy7vO4)]\u003c/sup\u003e\n  - _Ruby Roundtable: Intro to Tensorflow_ by [RubyThursday](https://rubythursday.com/)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=pYC5mXHUWkc)]\u003c/sup\u003e\n- 2015\n  - _Machine Learning made simple with Ruby_ by [Lorenzo Masini](https://twitter.com/rugginoso)\n    \u003csup\u003e[[post](https://www.leanpanda.com/blog/2015-08-24-machine-learning-automatic-classification/)]\u003c/sup\u003e\n  - _Using Ruby Machine Learning to Find Paris Hilton Quotes_ by [Rick Carlino](https://github.com/RickCarlino)\n    \u003csup\u003e[[tutorial](https://web.archive.org/web/20160414072324/http://datamelon.io/blog/2015/using-ruby-machine-learning-id-paris-hilton-quotes.html)]\u003c/sup\u003e\n- 2014\n  - _Test Driven Neural Networks_ by [Matthew Kirk](https://twitter.com/mjkirk)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=ppf8m-3uXvU\u0026t=36s)]\u003c/sup\u003e\n  - _Five machine learning techniques that you can use in your Ruby apps today_ by [Benjamin Curtis](https://twitter.com/stympy)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=crziu7dk6Vw) |\n          [slides](https://speakerdeck.com/stympy/machine-learning-techniques)]\u003c/sup\u003e\n  - _Machine Learning for Fun and Profit_ by [John Paul Ashenfelter](https://twitter.com/johnashenfelter)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=KC5MtKHm1O4)]\u003c/sup\u003e\n- 2013\n  - _Sentiment Analysis using Support Vector Machines in Ruby_ by [Matthew Kirk](https://twitter.com/mjkirk)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=iSug6CgxWxc) |\n          [code](https://github.com/hexgnu/sentiment_analyzer)]\u003c/sup\u003e\n  - _Recommender Systems with Ruby_ by [Marcel Caraciolo](https://twitter.com/marcelcaraciolo)\n    \u003csup\u003e[[slides](https://www.slideshare.net/marcelcaraciolo/recommender-systems-with-ruby-adding-machine-learning-statistics-etc)]\u003c/sup\u003e\n  - _Detecting Faces with Ruby: FFI in a Nutshell_ by [Marc Berszick]()\n    \u003csup\u003e[[post](https://www.sitepoint.com/detecting-faces-with-ruby-ffi-in-a-nutshell/)]\u003c/sup\u003e\n- 2012\n  - _Machine Learning with Ruby, Part One_ by [Vasily Vasinov](https://twitter.com/vasinov)\n    \u003csup\u003e[[tutorial](https://www.vasinov.com/blog/machine-learning-with-ruby-part-one/)]\u003c/sup\u003e\n  - _Recurrent Neural Networks in Ruby_ by [Joseph Wilk](https://twitter.com/josephwilk)\n    \u003csup\u003e[[post](http://blog.josephwilk.net/ruby/recurrent-neural-networks-in-ruby.html)]\u003c/sup\u003e\n  - _Recommendation Engines using Machine Learning, and JRuby_ by [Matthew Kirk](https://twitter.com/mjkirk)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=hsZcrlbBg_0)]\u003c/sup\u003e\n  - _Practical Machine Learning and Rails_ by [Andrew Cantino](https://twitter.com/tectonic)\n    and [Ryan Stout](https://twitter.com/ryanstout)\n    \u003csup\u003e[[video](https://www.youtube.com/watch?v=vy_zQ1-F0JI)]\u003c/sup\u003e\n\n- 2011\n  - _Clustering in Ruby_ by [Colin Drake](https://twitter.com/colinfdrake)\n    \u003csup\u003e[[post](https://colindrake.me/post/k-means-clustering-in-ruby/)]\u003c/sup\u003e\n  - _Text Classification using Support Vector Machines in Ruby_ by [Rimas Silkaitis](https://twitter.com/neovintage)\n    \u003csup\u003e[[post](http://neovintage.org/2011/11/14/text-classification-using-support/)]\u003c/sup\u003e\n- 2010\n  - _bayes_motel – Bayesian classification for Ruby_ by [Mike Perham](https://twitter.com/mperham)\n    \u003csup\u003e[[post](http://www.mikeperham.com/2010/04/28/bayes_motel-bayesian-classification-for-ruby/)]\u003c/sup\u003e\n  - _Intelligent Ruby: Getting Started with Machine Learning_ by [Ilya Grigorik](https://twitter.com/igrigorik)\n    \u003csup\u003e[[video](https://vimeo.com/22513786)]\u003c/sup\u003e\n- 2009\n\n- 2008\n  - _Support Vector Machines (SVM) in Ruby_ by [Ilya Grigorik](https://twitter.com/igrigorik)\n    \u003csup\u003e[[post](https://www.igvita.com/2008/01/07/support-vector-machines-svm-in-ruby/)]\u003c/sup\u003e\n- 2007\n  - _Decision Tree Learning in Ruby_ by [Ilya Grigorik](https://twitter.com/igrigorik)\n    \u003csup\u003e[[post](https://www.igvita.com/2007/04/16/decision-tree-learning-in-ruby/)]\u003c/sup\u003e\n\n## Projects and Code Examples\n\n- [Wine Clustering](https://github.com/hexgnu/wine_clustering) -\n  Wine quality estimations clustered with different algorithms.\n- [simple_ga](https://github.com/giuse/simple_ga) -\n  Basic (working) demo of Genetic Algorithms in Ruby.\n- [Handwritten Digits Recognition](https://github.com/jdrzj/handwritten-digits-recognition) -\n  Handwritten digits recognition using Neural Networks and Ruby.\n\n## Heroku buildpacks\n\n- [GSL and Ruby buildpack](https://github.com/tomwolfe/heroku-buildpack-gsl-ruby)\n- [OpenCV and Ruby buildpack](https://github.com/lilibethdlc/heroku-buildpack-ruby-opencv)\n- [ImageMagick buildpack](https://github.com/mcollina/heroku-buildpack-imagemagick)\n\n## Books, Blogs, Channels\n\n-  [Kirk, Matthew](https://twitter.com/mjkirk).\n   _Thoughtful Machine Learning: A Test-Driven Approach_. O'Reilly, 2014.\n   \u003csup\u003e[[Amazon](https://www.amazon.com/Thoughtful-Machine-Learning-Test-Driven-Approach/dp/1449374069) |\n         [code](https://github.com/thoughtfulml/examples)]\u003c/sup\u003e\n- [Practical Artificial Intelligence](https://www.practicalai.io/) -\n  Blog about Artificial Intelligence and Machine Learning with tutorials and code samples in Ruby.\n\n## Community\n\n- [SciRuby Mailing List](https://groups.google.com/forum/#!forum/sciruby-dev)\n- [SciRuby Slack](https://sciruby.slack.com/)\n- [Red Data Gitter](https://gitter.im/red-data-tools/)\n- [Reddit](https://www.reddit.com/r/MachineLearning/search?q=Ruby\u0026restrict_sr=on)\n- [Stack Overflow](https://stackoverflow.com/search?q=machine+learning+ruby)\n- [Twitter](https://twitter.com/search?q=Machine%20Learning%20Ruby\u0026src=typd)\n- [NonWebRuby](https://twitter.com/NonWebRuby)\n- [Ruby AI Builders Discord](https://discord.gg/zDyFJFBTGB)\n- [X Ruby AI group](https://twitter.com/i/communities/1709211359039078677)\n- [Mastodon Ruby AI and Data group](https://ruby.social/@Ruby_AI_and_Data@chirp.social)\n\n## Related Resources\n\n- \u003ca name=\"lightgbm\"\u003e\u003c/a\u003e\n  [LightGBM](https://github.com/microsoft/LightGBM)\n- \u003ca name=\"xgboost\"\u003e\u003c/a\u003e\n  [XGBoost](https://github.com/dmlc/xgboost)\n- \u003ca name=\"gls\"\u003e\u003c/a\u003e\n  [GSL (GNU Scientific Library)][gls]\n- \u003ca name=\"opencv\"\u003e\u003c/a\u003e\n  [OpenCV](https://opencv.org/)\n- \u003ca name=\"empty-lines-around-access-modifier\"\u003e\u003c/a\u003e\n  [Graphviz](http://www.graphviz.org/)\n- \u003ca name=\"gnuplot\"\u003e\u003c/a\u003e\n  [Gnuplot](http://www.gnuplot.info/)\n- \u003ca name=\"xquartz\"\u003e\u003c/a\u003e\n  [X11/XQuartz](https://www.xquartz.org/)\n- \u003ca name=\"imagemagic\"\u003e\u003c/a\u003e\n  [ImageMagick](https://www.imagemagick.org/script/index.php)\n- \u003ca name=\"r\"\u003e\u003c/a\u003e\n  [R](http://www.r-project.org/)\n- \u003ca name=\"octave\"\u003e\u003c/a\u003e\n  [Octave](https://www.gnu.org/software/octave/)\n- [scikit-learn algorithm cheatsheet](https://scikit-learn.org/stable/tutorial/machine_learning_map/)\n- [Awesome Ruby](https://github.com/markets/awesome-ruby#natural-language-processing) -\n  Among other awesome items a short list of NLP related projects.\n- [Ruby NLP](https://github.com/diasks2/ruby-nlp) -\n  State-of-Art collection of Ruby libraries for NLP.\n- [Speech and Natural Language Processing](https://github.com/edobashira/speech-language-processing) -\n  General List of NLP related resources (mostly not for Ruby programmers).\n- [Scientific Ruby](http://sciruby.com/) -\n  Linear Algebra, Visualization and Scientific Computing for Ruby.\n- [iRuby](https://github.com/SciRuby/iruby) - IRuby kernel for Jupyter (formerly IPython).\n- [Kiba](https://github.com/thbar/kiba) -\n  Lightweight [ETL](https://en.wikipedia.org/wiki/Extract,_transform,_load) (Extract, Transform, Load) pipeline.\n- [Awesome OCR](https://github.com/kba/awesome-ocr) -\n  Multitude of OCR (Optical Character Recognition) resources.\n- [Awesome TensorFlow](https://github.com/jtoy/awesome-tensorflow) -\n  Machine Learning with TensorFlow libraries.\n- [rb-gsl](https://github.com/SciRuby/rb-gsl) -\n  Ruby interface to the [GNU Scientific Library](https://www.gnu.org/software/gsl/).\n- [The Definitive Guide to Ruby's C API](https://silverhammermba.github.io/emberb/) -\n  Modern Reference and Tutorial on Embedding and Extending Ruby using C programming language.\n\n## License\n\n[![Creative Commons Zero 1.0](http://mirrors.creativecommons.org/presskit/buttons/80x15/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/)\n`Awesome ML with Ruby` by [Andrei Beliankou](https://github.com/arbox) and\n[Contributors][contributors].\n\nTo the extent possible under law, the person who associated CC0 with\n`Awesome ML with Ruby` has waived all copyright and related or neighboring rights\nto `Awesome ML with Ruby`.\n\nYou should have received a copy of the CC0 legalcode along with this\nwork. If not, see \u003chttps://creativecommons.org/publicdomain/zero/1.0/\u003e.\n\n\u003c!--- Links ---\u003e\n[ruby]: https://www.ruby-lang.org/en/\n[awesome]: https://github.com/sindresorhus/awesome/blob/master/awesome.md\n[change-pr]: https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md\n[ml]: https://en.wikipedia.org/wiki/Machine_learning\n[ds-with-ruby]: https://github.com/arbox/data-science-with-ruby\n[contributors]: https://github.com/arbox/machine-learning-with-ruby/graphs/contributors\n[sciruby]: https://github.com/sciruby\n[ai]: https://en.wikipedia.org/wiki/Artificial_intelligence\n[cs]: https://en.wikipedia.org/wiki/Computational_science\n[fe]: https://en.wikipedia.org/wiki/Feature_engineering\n[ts]: https://en.wikipedia.org/wiki/Test_set\n[gsl]: https://www.gnu.org/software/gsl/\n[scikit]: https://scikit-learn.org/stable/index.html\n","created_at":"2024-01-04T17:19:48.862Z","updated_at":"2026-04-13T02:00:51.155Z","primary_language":null,"list_of_lists":false,"displayable":true,"categories":["Related Resources","Community","Machine Learning Libraries",":sparkles: Tutorials","Articles, Posts, Talks, and Presentations","Books, Blogs, Channels","License","Applications of machine learning","Data structures","Heroku buildpacks","Projects and Code Examples"],"sub_categories":["Vector search","Neural networks","Kernel methods","Frameworks","Evolutionary algorithms","Statistical models","Deep learning","Decision trees","Clustering","Linear classifiers","Bayesian methods","Gradient boosting"],"projects_url":"https://awesome.ecosyste.ms/api/v1/lists/arbox%2Fmachine-learning-with-ruby/projects"}