Ruby's answer to scikit-learn
Rumale provides machine learning algorithms with a scikit-learn-style API, letting Ruby developers train classifiers and clusterers without leaving the ecosystem.

What it does Rumale is a Ruby machine learning library that implements common algorithms—linear models, trees, ensembles, multi-layer perceptrons, clustering, and dimensionality reduction—behind an interface deliberately modeled on Python’s scikit-learn. It loads LIBSVM-format datasets, supports cross-validation, and serializes trained models with Ruby’s Marshal.
The interesting bit
The project does not try to out-Python Python; instead it offers Rubyists a native escape hatch from NumPy envy. Since version 2.0.0 it has switched to a custom Numo::NArray Alternative backend, and it can tap OpenBLAS or multi-core parallelism via optional companion gems when the workload demands it.
Key highlights
- Covers the usual suspects: SVM, logistic regression, random forests, gradient boosting, k-means, DBSCAN, PCA, t-SNE, and others
- Scikit-learn-style API with
fit,transform,predict, andscoremethods - Optional speedups through
Numo::Linalg Alternative(OpenBLAS) and theParallelgem for supported estimators - Ecosystem extensions for LIBSVM/LIBLINEAR (
Rumale::SVM) and torch.rb neural networks (Rumale::Torch) - BSD-3-Clause licensed
Verdict Worth a look if you are committed to a Ruby stack and need standard ML primitives without bridging to Python. If you are already happy with scikit-learn, this is essentially a dialect translation you may not need.
Frequently asked
- What is yoshoku/rumale?
- Rumale provides machine learning algorithms with a scikit-learn-style API, letting Ruby developers train classifiers and clusterers without leaving the ecosystem.
- Is rumale open source?
- Yes — yoshoku/rumale is open source, released under the BSD-3-Clause license.
- What language is rumale written in?
- yoshoku/rumale is primarily written in Ruby.
- How popular is rumale?
- yoshoku/rumale has 914 stars on GitHub.
- Where can I find rumale?
- yoshoku/rumale is on GitHub at https://github.com/yoshoku/rumale.