{% extends "base.html" %} {% block content %}
Linfa is a comprehensive toolkit for statistical learning, providing algorithms for optimal model and density estimation.
It contains common learning algorithms such as Elastic Net, Support Vector Machines, Kernel Methods, Linear Decision Trees, etc. and bundles them together.
You can find the source code at rust-ml/linfa.
The Rust language allows us to implement everything directly without the need to trade performance for readability.
No need to have a second language for performance reason.
We use many existing tools from the Rust ecosystem to improve the code quality.
We are using rustfmt, clippy, Tarpaulin, Github Actions and approx for testing and verification.
Benefit from a clear ownership model and structure your code flow with functional programming.
Many composing algorithms can be expressed more clearly with features missing in older imperative languages.
We are a group of ML/stats people who are exploring the language space for more performant and readable implementations.
No need to be an expert or have years of programming experience.
If you are interest in a specific implementation or need some inspiration to learn Rust for data processing reach out to us. We are happy to help on both sides.
Everything is published under the Apache/MIT license and we are trying constantly to make the code as accessible as possible for humans and machines.
The development of Linfa happens in public and every contribution is welcome.
Typical implementations for clustering algorithms, such as K-Means, Gaussian Mixture and DBSCAN.
Variance preserving algorithms with linear (PCA) and non-linear (Diffusion Maps) implementations.
The implementation uses LOBPCG and can handle high-dimensional data very efficiently.
Regression with shrinkage operators, such as LASSO and Ridge.
Classification of linear, as well as non-linear data with SVM and kernel-methods.
There are many more implementations, which you can find here.