9 releases (5 breaking)

0.7.0 Oct 16, 2023
0.6.1 Dec 3, 2022
0.6.0 Jun 15, 2022
0.5.1 Mar 1, 2022
0.2.1 Nov 29, 2020

#652 in Machine learning

Download history 558/week @ 2024-05-26 740/week @ 2024-06-02 886/week @ 2024-06-09 615/week @ 2024-06-16 644/week @ 2024-06-23 462/week @ 2024-06-30 499/week @ 2024-07-07 525/week @ 2024-07-14 551/week @ 2024-07-21 694/week @ 2024-07-28 538/week @ 2024-08-04 578/week @ 2024-08-11 511/week @ 2024-08-18 583/week @ 2024-08-25 401/week @ 2024-09-01 527/week @ 2024-09-08

2,063 downloads per month
Used in 4 crates (3 directly)

MIT/Apache

290KB
5.5K SLoC

Kernel methods

linfa-kernel provides methods for dimensionality expansion.

The Big Picture

linfa-kernel is a crate in the linfa ecosystem, an effort to create a toolkit for classical Machine Learning implemented in pure Rust, akin to Python's scikit-learn.

In machine learning, kernel methods are a class of algorithms for pattern analysis, whose best known member is the support vector machine. They owe their name to the kernel functions, which maps the features to some higher-dimensional target space. Common examples for kernel functions are the radial basis function (euclidean distance) or polynomial kernels.

Current State

linfa-kernel currently provides an implementation of kernel methods for RBF and polynomial kernels, with sparse or dense representation. Further a k-neighbour approximation allows to reduce the kernel matrix size.

Low-rank kernel approximation are currently missing, but are on the roadmap. Examples for these are the Nyström approximation or Quasi Random Fourier Features.

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.

Dependencies

~5MB
~96K SLoC