yoshoku/rumale

Rumale is a machine learning library in Ruby

解决的问题

Rumale 为 Ruby 编程语言带来了全面的机器学习算法套件。它提供了一种标准化的方式来实现 ML 模型,而无需切换到 Python,为习惯使用 Scikit-Learn 的用户提供了熟悉的接口。

工作原理

Rumale 使用 Numo::NArray Alternative 实现了各种机器学习算法,支持广泛的机器学习技术,包括:

  • 监督学习:支持向量机、逻辑回归、决策树、随机森林和梯度树提升。
  • 无监督学习:K-均值、高斯混合模型、DBSCAN 和谱聚类。
  • 降维:主成分分析(PCA)、t-SNE 和非负矩阵分解。

为了提升性能,它可以通过 Numo::Linalg Alternative 集成 OpenBLAS,实现更快的矩阵运算,并使用 Parallel gem 在支持的估计器中实现多核处理。

适用人群

希望在不离开 Ruby 生态系统的情况下,直接将机器学习功能集成到应用程序中的 Ruby 开发者。

主要亮点

  • Scikit-Learn 风格 API:使用与流行的 Python ML 库相似的接口。
  • 广泛的算法支持:涵盖从线性模型和集成方法到聚类和流形学习的所有内容。
  • 性能优化:支持通过 OpenBLAS 实现硬件加速和并行处理。
  • 数据集集成:内置函数用于加载 LIBSVM 格式的数据集。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目