Найти Ρ‚Π΅ΠΌΡƒ
МашинноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅

πŸ¦€ Rust для машинного обучСния.

ОглавлСниС

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ содСрТит список Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ машинного обучСния, написанных Π½Π° Rust. Π­Ρ‚ΠΎ сборник Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² GitHub, Π±Π»ΠΎΠ³ΠΎΠ², ΠΊΠ½ΠΈΠ³, ΡƒΡ€ΠΎΠΊΠΎΠ², Ρ„ΠΎΡ€ΡƒΠΌΠΎΠ², статСй. Π­Ρ‚ΠΎΡ‚ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для людСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΡƒΠΌΠ°ΡŽΡ‚ ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ с Python Π½Π° Rust. 🐍 πŸ¦€

Π‘Ρ‚Π°Ρ‚ΡŒΡ Ρ€Π°Π·Π±ΠΈΡ‚Π° Π½Π° нСсколько основных ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ². Π’ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π½Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ большС Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π°Π²Π½ΠΎ Π½Π΅ обновлялись.

ЛинСйная Π°Π»Π³Π΅Π±Ρ€Π°

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² спискС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ndarray ΠΈΠ»ΠΈ std::vec.

  • dimforge/nalgebra - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ для Rust.
  • rust-ndarray/ndarray - ndarray: Ρ€Π°Π±ΠΎΡ‚Π° с ΠΌΠ½Π½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π½Π° Rust
  • AtheMathmo/rulinalg - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ ннаписанная Rust
  • arrayfire/arrayfire-rust - ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° Rust для ArrayFire
  • bluss/arrayvec - Ρ€Π°Π±ΠΎΡ‚Π° с Π²Π΅ΠΊΡ‚ΠΎΡ€Π°ΠΌΠΈ. (Rust)
  • vbarrielle/sprs - Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹ для Rust
  • liborty/rstats - Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° статистики Rust ΠΈ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹
  • PyO3/rust-numpy - NumPy C-API для Rust Π½Π° основС PyO3

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

Jupyter Notebook

evcxr ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Jupyter Kernel ΠΈΠ»ΠΈ REPL. Π­Ρ‚ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½ΡƒΠΆΠ½Ρ‹ для обучСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π³ΠΈΠΏΠΎΡ‚Π· машинного обучССния.

  • google/evcxr - ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ для Rust.
  • emakryo/rustdef - Jupyter Ρ€Π°Ρ€ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ для rust.
  • murarth/rusti - REPL Π»ΠΈΠ±Π° для Rust

Π Π°Π±ΠΎΡ‚Π° с Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ

Бписок ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… рСсурсов для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

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

ΠΠ›ΠŸ

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ систСмы

  • PersiaML/PERSIA - High performance distributed framework for training deep learning recommendation models based on PyTorch.
  • jackgerrits/vowpalwabbit-rs - πŸ¦€πŸ‡ Rusty VowpalWabbit
  • outbrain/fwumious_wabbit - Fwumious Wabbit, fast on-line machine learning toolkit written in Rust
  • hja22/rucommender - Rust implementation of user-based collaborative filtering
  • maciejkula/sbr-rs - Deep recommender systems for Rust
  • chrisvittal/quackin - A recommender systems framework for Rust
  • snd/onmf - fast rust implementation of online nonnegative matrix factorization as laid out in the paper "detect and track latent factors with online nonnegative matrix factorization"
  • rhysnewell/nymph - Non-Negative Matrix Factorization in Rust

Π Π°Π±ΠΎΡ‚Π° с тСкстом

Алгоритмы поиска Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… сосСдСй.

  • 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