Skip to main content

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.

Source Distribution

kaftools-0.1.1.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kaftools-0.1.1-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file kaftools-0.1.1.tar.gz.

File metadata

  • Download URL: kaftools-0.1.1.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for kaftools-0.1.1.tar.gz
Algorithm Hash digest
SHA256 4579e7943db5de4b812d29e5e7539f0c3fd35f39539e3380a0b9a0d734d305a8
MD5 fc8e4e6a90af2b53ab1902a4fce915c3
BLAKE2b-256 345b0bd94570344ade94658780a206e37099069e98914bb193621527c544c00a

See more details on using hashes here.

File details

Details for the file kaftools-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for kaftools-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4ea3078b444c3f36e5a4a1738d2a637719e9dd3664b658bbe167ddb6fa68790c
MD5 4097d62cb609251e565a5933c242e25b
BLAKE2b-256 c53274baf7e758c03b5a964653cb5ce6f113a4a8d7cc8428ab8b96dec7a63177

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page