Small extensible package for Kernel Adaptive Filtering (KAF) methods.
Project description
**Warning: this is a side-project in progress so many bugs could arise. Please raise an issue if this happens.**
# Kernel Adaptive Filtering for Python
[](https://ci.appveyor.com/project/Canas/kaftools) [](https://raw.githubusercontent.com/Canas/kaftools/master/LICENSE)
This package implements several Kernel Adaptive Filtering algorithms for research purposes. It aims to be easily extendable.
# Requirements
- Python 3.4+
- NumPy
- SciPy
- (Optional) Matplotlib
# Features
## Adaptive Kernel Filters
- Kernel Least Mean Squares (KLMS) - `KlmsFilter`
- Exogenous Kernel Least Mean Squares (KLMS-X) - `KlmsxFilter`
- Kernel Recursive Least Squares (KRLS) - `KrlsFilter`
## Sparsification Criteria
- Novelty (KLMS)
- Approximate Linear Dependency (KLRS)
## Additional Features
- Delayed input support (KLMS)
- Adaptive kernel parameter learning (KLMS)
For a more visual comparison, check the [latest features sheet](https://docs.google.com/spreadsheets/d/1kvBNAqDSgNGBTcXqMDN7j_dpp949peH_-F1GYVP29y8/edit?usp=sharing).
# Quickstart
Let's do a simple example using a KLMS Filter over given input and target arrays:
```
from kaftools.filters import KlmsFilter
from kaftools.kernels import GaussianKernel
klms = KlmsFilter(input, target)
klms.fit(learning_rate=0.1, kernel=GaussianKernel(sigma=0.1))
```
And that's it!
# Kernel Adaptive Filtering for Python
[](https://ci.appveyor.com/project/Canas/kaftools) [](https://raw.githubusercontent.com/Canas/kaftools/master/LICENSE)
This package implements several Kernel Adaptive Filtering algorithms for research purposes. It aims to be easily extendable.
# Requirements
- Python 3.4+
- NumPy
- SciPy
- (Optional) Matplotlib
# Features
## Adaptive Kernel Filters
- Kernel Least Mean Squares (KLMS) - `KlmsFilter`
- Exogenous Kernel Least Mean Squares (KLMS-X) - `KlmsxFilter`
- Kernel Recursive Least Squares (KRLS) - `KrlsFilter`
## Sparsification Criteria
- Novelty (KLMS)
- Approximate Linear Dependency (KLRS)
## Additional Features
- Delayed input support (KLMS)
- Adaptive kernel parameter learning (KLMS)
For a more visual comparison, check the [latest features sheet](https://docs.google.com/spreadsheets/d/1kvBNAqDSgNGBTcXqMDN7j_dpp949peH_-F1GYVP29y8/edit?usp=sharing).
# Quickstart
Let's do a simple example using a KLMS Filter over given input and target arrays:
```
from kaftools.filters import KlmsFilter
from kaftools.kernels import GaussianKernel
klms = KlmsFilter(input, target)
klms.fit(learning_rate=0.1, kernel=GaussianKernel(sigma=0.1))
```
And that's it!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
kaftools-0.1.1.tar.gz
(6.0 kB
view hashes)
Built Distribution
kaftools-0.1.1-py3-none-any.whl
(10.4 kB
view hashes)