Skip to content
/ kaftools Public

An extensible Kernel Adaptive Filter package for Python

License

Notifications You must be signed in to change notification settings

Canas/kaftools

Repository files navigation

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 GitHub license Gitpod ready-to-code

This package implements several Kernel Adaptive Filtering algorithms for research purposes. It aims to be easily extendable.

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.

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!

About

An extensible Kernel Adaptive Filter package for Python

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published