Добавить в корзинуПозвонить
Найти в Дзене
Машинное обучение

🦀 Rust для машинного обучения.

Эта статья содержит список библиотек машинного обучения, написанных на Rust. Это сборник репозиториев GitHub, блогов, книг, уроков, форумов, статей. Этот репозиторий предназначен для людей, которые думают о переходе с Python на Rust. 🐍 🦀 Статья разбита на несколько основных категорий библиотек и алгоритмов. В статье нет библиотек, которые больше не поддерживаются, а так же почти нет небольших библиотек, которые давно не обновлялись. Линейная алгебра Большинство пакетов в списке используют ndarray или std::vec. Инструменты поддержки Jupyter Notebook evcxr может обрабатывать как Jupyter Kernel или REPL. Эти библиотеки нужны для обучения алгоритмов и проверки гипотз машинного обучеения. Работа с визуализацией Список полезных ресурсов для визуализации данных. ASCII line graph: Examples: Датафреймы Обработка изображений Для обработка изображений вам стоит попробовать либу image-rs. Здесь приведены Такие алгоритмы, как линейные преобразования, реализованы и в других библиотеках. Обр
Оглавление

Эта статья содержит список библиотек машинного обучения, написанных на Rust. Это сборник репозиториев GitHub, блогов, книг, уроков, форумов, статей. Этот репозиторий предназначен для людей, которые думают о переходе с Python на Rust. 🐍 🦀

Статья разбита на несколько основных категорий библиотек и алгоритмов. В статье нет библиотек, которые больше не поддерживаются, а так же почти нет небольших библиотек, которые давно не обновлялись.

Линейная алгебра

Большинство пакетов в списке используют ndarray или std::vec.

Инструменты поддержки

Jupyter Notebook

evcxr может обрабатывать как Jupyter Kernel или REPL. Эти библиотеки нужны для обучения алгоритмов и проверки гипотз машинного обучеения.

Работа с визуализацией

Список полезных ресурсов для визуализации данных.

ASCII line graph:

Examples:

Датафреймы

Обработка изображений

Для обработка изображений вам стоит попробовать либу image-rs. Здесь приведены Такие алгоритмы, как линейные преобразования, реализованы и в других библиотеках.

Обработка естественного языка (предварительная обработка)

Графы

AutoML

Рабочие потокии

ГПУ

sklearn - подобные библиотеки

Библиотеки поддерживают следующие алгоритмы.

  • Linear Regression
  • Logistic Regression
  • K-Means Clustering
  • Neural Networks
  • Gaussian Process Regression
  • Support Vector Machines
  • kGaussian Mixture Models
  • Naive Bayes Classifiers
  • DBSCAN
  • k-Nearest Neighbor Classifiers
  • Principal Component Analysis
  • Decision Tree
  • Support Vector Machines
  • Naive Bayes
  • Elastic Net

smartcorelib/smartcore - SmartCore is a comprehensive library for machine learning and numerical computing. The library provides a set of tools for linear algebra, numerical computing, optimization, and enables a generic, powerful yet still efficient approach to machine learning.LASSO, Ridge, Random Forest, LU, QR, SVD, EVD, and more metrics
https://smartcorelib.org/user_guide/quick_start.html

  • rust-ml/linfa - A Rust machine learning framework.Gaussian Mixture Model Clustering, Agglomerative Hierarchical Clustering, ICA
    https://github.com/rust-ml/linfa#current-state
  • maciejkula/rustlearn - Machine learning crate for Rustfactorization machines, k-fold cross-validation, ndcg
    https://github.com/maciejkula/rustlearn#features
  • AtheMathmo/rusty-machine - Machine Learning library for RustConfusion Matrix, Cross Varidation, Accuracy, F1 Score, MSE
    https://github.com/AtheMathmo/rusty-machine#machine-learning
  • benjarison/eval-metrics - Evaluation metrics for machine learningMany evaluation functions
  • blue-yonder/vikos - A machine learning library for supervised training of parametrized models
  • mbillingr/openml-rust - A rust interface to http://openml.org/

Статистика

  • statrs-dev/statrs - Statistical computation library for Rust
  • rust-ndarray/ndarray-stats - Statistical routines for ndarray
  • Axect/Peroxide - Rust numeric library with R, MATLAB & Python syntaxLinear Algebra, Functional Programming, Automatic Differentiation, Numerical Analysis, Statistics, Special functions, Plotting, Dataframe
  • tarcieri/micromath - Embedded Rust arithmetic, 2D/3D vector, and statistics library

Градиентный Бустинг

Нейронные сети

Tensorflow и PyTorch являются наиболее распространенными либами для построения нейронных сетей.

Графовые модели

  • Synerise/cleora - Cleora AI is a general-purpose model for efficient, scalable learning of stable and inductive entity embeddings for heterogeneous relational data.
  • Pardoxa/net_ensembles - Rust library for random graph ensembles

НЛП

Рекомендательные системы

Работа с текстом

Алгоритмы поиска ближайших соседей.

  • Enet4/faiss-rs - Rust language bindings for Faiss
  • rust-cv/hnsw - HNSW ANN from the paper "Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs"
  • hora-search/hora - 🚀 efficient approximate nearest neighbor search algorithm collections library, which implemented with Rust 🦀. horasearch.com
  • InstantDomain/instant-distance - Fast approximate nearest neighbor searching in Rust, based on HNSW index
  • lerouxrgd/ngt-rs - Rust wrappers for NGT approximate nearest neighbor search
  • granne/granne - Graph-based Approximate Nearest Neighbor Search
  • u1roh/kd-tree - k-dimensional tree in Rust. Fast, simple, and easy to use.
  • qdrant/qdrant - Qdrant - vector similarity search engine with extended filtering support
  • rust-cv/hwt - Hamming Weight Tree from the paper "Online Nearest Neighbor Search in Hamming Space"
  • fulara/kdtree-rust - kdtree implementation for rust.
  • mrhooray/kdtree-rs - K-dimensional tree in Rust for fast geospatial indexing and lookup
  • kornelski/vpsearch - C library for finding nearest (most similar) element in a set
  • petabi/petal-neighbors - Nearest neighbor search algorithms including a ball tree and a vantage point tree.
  • ritchie46/lsh-rs - Locality Sensitive Hashing in Rust with Python bindings
  • kampersanda/mih-rs - Rust implementation of multi-index hashing for neighbor searches on 64-bit codes in the Hamming space

Обучение с подкреплением

Обучение с учителем

Обучение без учителя

Статистические модели

  • Redpoll/changepoint - Includes the following change point detection algorithms: Bocpd -- Online Bayesian Change Point Detection Reference. BocpdTruncated -- Same as Bocpd but truncated the run-length distribution when those lengths are unlikely.
  • krfricke/arima - ARIMA modelling for Rust
  • Daingun/automatica - Automatic Control Systems Library
  • rbagd/rust-linearkalman - Kalman filtering and smoothing in Rust
  • sanity/pair_adjacent_violators - An implementation of the Pair Adjacent Violators algorithm for isotonic regression in Rust

Эволюционные алгоритмы

Еще проекты

Блоги

Обучения

Прикладные ресурсы

Форумы

Книги

Видео уроки

Подкасты

Выучить язык Rust:

Rust

Машинное обучение RU