Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A Rust machine learning framework.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
MIT
LICENSE-MIT
NotificationsYou must be signed in to change notification settings

rust-ml/linfa

Repository files navigation

Linfa mascot icon

Linfa

crates.ioDocumentationDocumentationLatestCodequalityRun Tests

linfa (Italian) /sap (English):

Thevital circulating fluid of a plant.

linfa aims to provide a comprehensive toolkit to build Machine Learning applications with Rust.

Kin in spirit to Python'sscikit-learn, it focuses on common preprocessing tasks and classical ML algorithms for your everyday ML tasks.

Website |Community chat

Current state

Where doeslinfa stand right now?Are we learning yet?

linfa currently provides sub-packages with the following algorithms:

NamePurposeStatusCategoryNotes
bayesNaive BayesTestedSupervised learningContains Bernouilli, Gaussian and Multinomial Naive Bayes
clusteringData clusteringTested / BenchmarkedUnsupervised learningClustering of unlabeled data; contains K-Means, Gaussian-Mixture-Model, DBSCAN and OPTICS
ensembleEnsemble methodsTestedSupervised learningContains bagging
elasticnetElastic NetTestedSupervised learningLinear regression with elastic net constraints
ftrlFollow The Regularized Leader - proximalTested / BenchmarkedPartial fitContains L1 and L2 regularization. Possible incremental update
hierarchicalAgglomerative hierarchical clusteringTestedUnsupervised learningCluster and build hierarchy of clusters
icaIndependent component analysisTestedUnsupervised learningContains FastICA implementation
kernelKernel methods for data transformationTestedPre-processingMaps feature vector into higher-dimensional space
linearLinear regressionTestedPartial fitContains Ordinary Least Squares (OLS), Generalized Linear Models (GLM)
logisticLogistic regressionTestedPartial fitBuilds two-class logistic regression models
nnNearest Neighbours & DistancesTested / BenchmarkedPre-processingSpatial index structures and distance functions
plsPartial Least SquaresTestedSupervised learningContains PLS estimators for dimensionality reduction and regression
preprocessingNormalization & VectorizationTested / BenchmarkedPre-processingContains data normalization/whitening and count vectorization/tf-idf
reductionDimensionality reductionTestedPre-processingDiffusion mapping, Principal Component Analysis (PCA), Random projections
svmSupport Vector MachinesTestedSupervised learningClassification or regression analysis of labeled datasets
treesDecision treesTested / BenchmarkedSupervised learningLinear decision trees
tsneDimensionality reductionTestedUnsupervised learningContains exact solution and Barnes-Hut approximation t-SNE

We believe that only a significant community effort can nurture, build, and sustain a machine learning ecosystem in Rust - there is no other way forward.

If this strikes a chord with you, please take a look at theroadmap and get involved!

BLAS/Lapack backend

Some algorithm crates need to use an external library for linear algebra routines. By default, we use a pure-Rust implementation. However, you can also choose an external BLAS/LAPACK backend library instead, by enabling theblas feature and a feature corresponding to your BLAS backend. Currently you can choose between the following BLAS/LAPACK backends:openblas,netblas orintel-mkl.

BackendLinuxWindowsmacOS
OpenBLAS✔️--
Netlib✔️--
Intel MKL✔️✔️✔️

Each BLAS backend has two features available. The feature allows you to choose between linking the BLAS library in your system or statically building the library. For example, the features for theintel-mkl backend areintel-mkl-static andintel-mkl-system.

An example set of Cargo flags for enabling the Intel MKL backend on an algorithm crate is--features blas,linfa/intel-mkl-system. Note that the BLAS backend features are defined on thelinfa crate, and should only be specified for the final executable.

License

Dual-licensed to be compatible with the Rust project.

Licensed under the Apache License, Version 2.0http://www.apache.org/licenses/LICENSE-2.0 or the MIT licensehttp://opensource.org/licenses/MIT, at your option. This file may not be copied, modified, or distributed except according to those terms.

About

A Rust machine learning framework.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
MIT
LICENSE-MIT

Stars

Watchers

Forks

Sponsor this project

    Packages

    No packages published

    Contributors54

    Languages


    [8]ページ先頭

    ©2009-2025 Movatter.jp