Skip to main content
Donate to the Python Software Foundation or Purchase a PyCharm License to Benefit the PSF! Donate Now

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
[![Build status](https://ci.appveyor.com/api/projects/status/otkhkwrimf3e4vg5?svg=true)](https://ci.appveyor.com/project/Canas/kaftools) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
kaftools-0.1.1-py3-none-any.whl (10.4 kB) Copy SHA256 hash SHA256 Wheel py3
kaftools-0.1.1.tar.gz (6.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page