Skip to main content

kernel methods and classes

Project description

Kernel methods and classes

https://img.shields.io/pypi/v/kernelmethods.svg https://img.shields.io/travis/raamana/kernelmethods.svg

Docs: https://raamana.github.io/kernelmethods/

Demo notebooks:

https://mybinder.org/badge_logo.svg

kernelmethods

docs/flyer.png

kernelmethods is a pure python library defining modular classes that provides basic kernel methods, such as computing various kernel functions on a given sample (N points of dimension p) as well as provides an intuitive interface for advanced functionality such as composite and hyper kernels. This library fills an important void in the ever-growing python-based machine learning ecosystem, where users can only use predefined kernels and are not able to customize or extend them for their own applications, that demand great flexibility owing to their diversity and need for better performing kernel. This library defines the KernelMatrix class that is central to all the kernel methods and machines. As the KernelMatrix class is a key bridge between input data and the various kernel learning algorithms, it is designed to be highly usable and extensible to different applications and data types. Besides being able to apply basic kernels on a given sample (to produce a KernelMatrix), this library provides various kernel operations, such as normalization, centering, product, alignment evaluation, linear combination and ranking (by various performance metrics) of kernel matrices.

In addition, we provide several convenient classes, such as KernelSet and KernelBucket for easy management of a large collection of kernels. Dealing with a diverse configuration of kernels is necessary for automatic kernel selection and optimization in applications such as Multiple Kernel Learning (MKL) and the like.

In addition to the common numerical kernels such as the Gaussian and Polynomial kernels, we designed this library to make it easy to develop categorical, string and graph kernels, with the same attractive properties of intuitive and highly-testable API. In addition to providing native implementation of non-numerical kernels, we aim to provide a deeply and easily extensible framework for arbitrary input data types, such as sequences, trees and graphs etc, via data structures such as pyradigm.

Moreover, drop-in Estimator classes are provided, called KernelMachine, offering the power of SVM for seamless usage in the scikit-learn ecosystem. Another useful class is called OptimalKernelSVR which finds the most optimal kernel func for a given sample, and trains the SVM using the optimal kernel.

Note

The software is beta. All types of contributions are greatly welcome.

History

0.0.1 (2018-12-26)

  • First release on PyPI.

Project details


Download files

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

Files for kernelmethods, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size kernelmethods-0.2-py2.py3-none-any.whl (27.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size kernelmethods-0.2.tar.gz (546.1 kB) File type Source Python version None Upload date Hashes View hashes

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 DigiCert DigiCert EV certificate StatusPage StatusPage Status page