A package for Multiple Kernel Learning scikit-compliant
Project description
MKLpy
MKLpy is a framework for Multiple Kernel Learning (MKL) inspired by the scikit-learn project.
This package contains:
- the implementation of some MKL algorithms;
- tools to operate on kernels, such as normalization, centering, summation, average...;
- metrics, such as kernel_alignment, radius of Minimum Enclosing Ball, margin between classes, spectral ratio...;
- kernel functions, including boolean kernels (disjunctive, conjunctive, DNF, CNF) and string kernels (spectrum, fixed length and all subsequences).
The main MKL algorithms implemented in this library are
Name | Short description | Status | Source |
---|---|---|---|
AverageMKL | Computes the simple average of base kernels | Available | - |
EasyMKL | Fast and memory efficient margin-based combination | Available | [1] |
GRAM | Radius/margin ratio optimization | Available | [2] |
R-MKL | Radius/margin ratio optimization | Available | [3] |
MEMO | Margin maximization and complexity minimization | Available | [4] |
PWMK | Heuristic based on individual kernels performance | Avaible | [5] |
FHeuristic | Heuristic based on kernels alignment | Available | [6] |
CKA | Centered kernel alignment optimization in closed form | Available | [7] |
SimpleMKL | Alternate margin maximization | Work in progress | [5] |
The documentation of MKLpy is available on readthedocs.io!
Installation
MKLpy is also available on PyPI:
pip install MKLpy
MKLpy leverages multiple scientific libraries, that are numpy, scikit-learn, PyTorch, and CVXOPT.
Examples
The folder examples contains several scripts and snippets of codes to show the potentialities of MKLpy. The examples show how to train a classifier, how to process data, and how to use kernel functions.
Additionally, you may read our tutorials
Work in progress
MKLpy is under development! We are working to integrate several features, including:
- additional MKL algorithms;
- more kernels for structured data;
- efficient optimization
Citing MKLpy
If you use MKLpy for a scientific purpose, please cite the following preprint.
@article{lauriola2020mklpy,
title={MKLpy: a python-based framework for Multiple Kernel Learning},
author={Lauriola, Ivano and Aiolli, Fabio},
journal={arXiv preprint arXiv:2007.09982},
year={2020}
}
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
File details
Details for the file MKLpy-0.6.tar.gz
.
File metadata
- Download URL: MKLpy-0.6.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95dbf83ad0d40b5e798ab1cff09aca41edbe05f41facfdc14d82ecc77c7bd5af |
|
MD5 | 847666850332f867ed1d1817a8ec3fe4 |
|
BLAKE2b-256 | ba21f3dc41cc62be50e6ccceb433dbc1ec17d6e685aa21231c10bee3d9081157 |