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 details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
kaftools-0.1.1-py3-none-any.whl
(10.4 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4579e7943db5de4b812d29e5e7539f0c3fd35f39539e3380a0b9a0d734d305a8
|
|
| MD5 |
fc8e4e6a90af2b53ab1902a4fce915c3
|
|
| BLAKE2b-256 |
345b0bd94570344ade94658780a206e37099069e98914bb193621527c544c00a
|
File details
Details for the file kaftools-0.1.1-py3-none-any.whl.
File metadata
- Download URL: kaftools-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ea3078b444c3f36e5a4a1738d2a637719e9dd3664b658bbe167ddb6fa68790c
|
|
| MD5 |
4097d62cb609251e565a5933c242e25b
|
|
| BLAKE2b-256 |
c53274baf7e758c03b5a964653cb5ce6f113a4a8d7cc8428ab8b96dec7a63177
|