yoshoku/rumale

Rumale is a machine learning library in Ruby

何を解決するか

Rumale は、Ruby プログラミング言語に包括的な機械学習アルゴリズムのセットを提供します。Python に切り替える必要なく、ML モデルを標準化された方法で実装でき、Scikit-Learn に慣れている人にとってなじみやすいインターフェースを提供します。

動作方法

Rumale は、型付き配列の Numo::NArray Alternative を使用して、幅広い ML アルゴリズムを実装しています。以下のような広範な技術をサポートしています:

  • 教師あり学習:サポートベクターマシン、ロジスティック回帰、決定木、ランダムフォレスト、勾配木ブースティング。
  • 教師なし学習:K-平均法、ガウス混合モデル、DBSCAN、スペクトルクラスタリング。
  • 次元削減:主成分分析(PCA)、t-SNE、非負値行列因子分解。

パフォーマンス向上のため、Numo::Linalg Alternative を通じて OpenBLAS と統合し、高速な行列演算を実現し、Parallel gem を使用して対応する推定器でマルチコア処理を実行できます。

対象ユーザー

Ruby エコシステムから離れることなく、アプリケーションに機械学習機能を直接統合したい Ruby 開発者。

特徴

  • Scikit-Learn 風 API:人気のある Python ML ライブラリと似たインターフェースを使用。
  • 広範なアルゴリズム対応:線形モデルやアンサンブル手法からクラスタリング、多様体学習まで網羅。
  • パフォーマンス最適化:OpenBLAS を通じたハードウェア加速と並列処理をサポート。
  • データセット統合:LIBSVM 形式のデータセットを読み込むための組み込み関数を提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト