Rumale (Ruby machine learning)

repository·main·Indexed 21 days ago

https://github.com/yoshoku/rumale

A machine learning library for Ruby providing algorithms with interfaces similar to Python's Scikit-Learn. It supports classification, regression, clustering, and dimensionality reduction. The library is modular, with specialized gems including rumale-core, rumale-clustering, rumale-decomposition, rumale-ensemble, rumale-evaluation_measure, rumale-feature_extraction, rumale-kernel_approximation, rumale-kernel_machine, and rumale-linear_model.

Tokens
61.4K
Snippets
188
Records
293
Agent score
74%

What's inside Rumale

  1. Overview of Rumale::Preprocessing

    main

    Rumale::Preprocessing is a component of the Rumale machine learning library for Ruby. It provides various preprocessing techniques that follow the standard Rumale interface, allowing them to be integrated into machine learning workflows.

    Supported techniques include:

    • L2 normalization
    • Standard scaling
    • One-hot encoding
  2. Overview of Rumale::Manifold

    main

    Rumale::Manifold is a component of the Rumale machine learning library for Ruby. It provides data embedding algorithms that follow the standard Rumale interface.

    Key algorithms included in this package:

    • Multi-dimensional Scaling (MDS)
    • t-distributed Stochastic Neighbor Embedding (t-SNE)
  3. Overview of Rumale::Decomposition

    main

    The Rumale::Decomposition module provides matrix decomposition algorithms that follow the standard Rumale interface. It is used for dimensionality reduction and extracting latent structures from data. Supported algorithms include:

    • Principal Component Analysis (PCA)
    • Non-negative Matrix Factorization (NMF)
    • Factor Analysis (FA)
    • Independent Component Analysis (ICA)
  4. Overview of Rumale::NearestNeighbors

    main
    The Rumale::NearestNeighbors module provides machine learning algorithms for both classification and regression based on the nearest neighbors rule. It is designed to be compatible with the standard Rumale interface, allowing it to integrate seamlessly with other Rumale components.
  5. Use Rumale::FeatureExtraction for feature extraction

    main

    The Rumale::FeatureExtraction module provides various methods for transforming raw data into feature vectors, compatible with the standard Rumale interface. Supported methods include:

    • TF-IDF: Term Frequency-Inverse Document Frequency for text processing.
    • Feature Hashing: A method to transform features into a fixed-size vector using a hash function.
  6. Use Rumale::KernelApproximation for kernel mapping

    main

    The Rumale::KernelApproximation module provides algorithms to approximate kernel functions, allowing you to transform data into a high-dimensional feature space that can be used with linear models. This is useful for applying non-linear kernel methods (like RBF) efficiently.

    Supported methods include:

    • RBF feature mapping
    • Nystroem method

    All algorithms follow the standard Rumale interface.

  7. Use Rumale::NeuralNetwork for machine learning

    main

    The Rumale::NeuralNetwork module provides machine learning algorithms compatible with the standard Rumale interface. It includes classifiers and regression algorithms based on:

    • Multi-layer perceptron
    • Radial basis function network
    • Random vector functional link network