yoshoku/rumale
Rumale is a machine learning library in Ruby
What it solves
Rumale brings a comprehensive suite of machine learning algorithms to the Ruby programming language. It provides a standardized way to implement ML models without needing to switch to Python, offering a familiar interface for those accustomed to Scikit-Learn.
How it works
Rumale implements a wide variety of ML algorithms using the Numo::NArray Alternative for typed arrays. It supports a broad range of techniques including:
- Supervised Learning: Support Vector Machines, Logistic Regression, Decision Trees, Random Forests, and Gradient Tree Boosting.
- Unsupervised Learning: K-Means, Gaussian Mixture Models, DBSCAN, and Spectral Clustering.
- Dimensionality Reduction: PCA, t-SNE, and Non-negative Matrix Factorization.
To improve performance, it can integrate with OpenBLAS via Numo::Linalg Alternative for faster matrix operations and use the Parallel gem for multi-core processing in supported estimators.
Who it’s for
Ruby developers who want to integrate machine learning capabilities directly into their applications without leaving the Ruby ecosystem.
Highlights
- Scikit-Learn Style API: Uses interfaces similar to the popular Python ML library.
- Broad Algorithm Support: Includes everything from linear models and ensemble methods to clustering and manifold learning.
- Performance Optimizations: Supports hardware acceleration via OpenBLAS and parallel processing.
- Dataset Integration: Includes built-in functions to load LIBSVM format datasets.
Related
- Project
- Project
- Project
- Project
- Project