/linfa

A Rust machine learning framework.

Primary LanguageRustApache License 2.0Apache-2.0

linfa

Build status Coverage Dependencies status

linfa (Italian) / sap (English):

The vital circulating fluid of a plant.

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

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

Documentation: latest Community chat: Gitter

Current state

Such bold ambitions! Where are we now? Are we learning yet?

Not really: linfa only provides a single algorithm, K-Means, with a couple of helper functions.

There is a long way to go to fulfill its bold mission statement, but there is significant lurking interest in the Rust ecosystem when it comes to ML and its surroundings: sometimes a small spark is all you need to light a beacon fire.

In fact, it is a firm belief of mine that only a significant community effort can nurture, build and sustain an ML ecosystem in Rust - there is no other way forward.

Even this humble beginning, the K-Means algorithm, is the result of a community workshop at RustFest 2019, with a bunch of different people chipping in to provide Python bindings and interesting performance benchmarks.

We just need to keep walking down the same path.

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

License

Dual-licensed to be compatible with the Rust project.

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