MKLpy
=====
[![Documentation Status](https://readthedocs.org/projects/mklpy/badge/?version=latest)](https://mklpy.readthedocs.io/en/latest/?badge=latest)
[![Build Status](https://travis-ci.com/IvanoLauriola/MKLpy.svg?branch=master)](https://travis-ci.com/IvanoLauriola/MKLpy)
[![Coverage Status](https://coveralls.io/repos/github/IvanoLauriola/MKLpy/badge.svg?branch=master)](https://coveralls.io/github/IvanoLauriola/MKLpy?branch=master)
[![PyPI version](https://badge.fury.io/py/MKLpy.svg)](https://badge.fury.io/py/MKLpy)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
**MKLpy** is a framework for Multiple Kernel Learning (MKL) inspired by the [scikit-learn](http://scikit-learn.org/stable) 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]](https://www.sciencedirect.com/science/article/abs/pii/S0925231215003653) |
| GRAM | Radius/margin ratio optimization | Available |[[2]](https://www.researchgate.net/publication/318468451_Radius-Margin_Ratio_Optimization_for_Dot-Product_Boolean_Kernel_Learning) |
| R-MKL | Radius/margin ratio optimization | Available |[[3]](https://link.springer.com/content/pdf/10.1007/978-3-642-04180-8_39.pdf) |
| MEMO | Margin maximization and complexity minimization | Available |[[4]](https://www.elen.ucl.ac.be/Proceedings/esann/esannpdf/es2018-181.pdf) |
| PWMK | Heuristic based on individual kernels performance | Avaible |[[5]](https://ieeexplore.ieee.org/abstract/document/4586335) |
| FHeuristic| Heuristic based on kernels alignment | Available |[[6]](https://ieeexplore.ieee.org/abstract/document/4731239) |
| CKA | Centered kernel alignment optimization in closed form| Available|[[7]](https://static.googleusercontent.com/media/research.google.com/it//pubs/archive/36468.pdf) |
| SimpleMKL | Alternate margin maximization | Work in progress |[[5]](http://www.jmlr.org/papers/volume9/rakotomamonjy08a/rakotomamonjy08a.pdf)|
The documentation of MKLpy is available on [readthedocs.io](https://mklpy.readthedocs.io/en/latest/)!
Installation
------------
**MKLpy** is also available on PyPI:
```sh
pip install MKLpy
```
**MKLpy** leverages multiple scientific libraries, that are [numpy](https://www.numpy.org/), [scikit-learn](https://scikit-learn.org/stable/), [PyTorch](https://pytorch.org/), and [CVXOPT](https://cvxopt.org/).
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](https://mklpy.readthedocs.io/en/latest/)
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}
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/IvanoLauriola/MKLpy",
"name": "MKLpy",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "kernel,MKL,learning,multiple kernel learning,EasyMKL,SVM,boolean kernels",
"author": "Lauriola Ivano",
"author_email": "ivano.lauriola@phd.unipd.it",
"download_url": "https://files.pythonhosted.org/packages/ba/21/f3dc41cc62be50e6ccceb433dbc1ec17d6e685aa21231c10bee3d9081157/MKLpy-0.6.tar.gz",
"platform": "",
"description": "MKLpy\n=====\n\n[![Documentation Status](https://readthedocs.org/projects/mklpy/badge/?version=latest)](https://mklpy.readthedocs.io/en/latest/?badge=latest)\n[![Build Status](https://travis-ci.com/IvanoLauriola/MKLpy.svg?branch=master)](https://travis-ci.com/IvanoLauriola/MKLpy)\n[![Coverage Status](https://coveralls.io/repos/github/IvanoLauriola/MKLpy/badge.svg?branch=master)](https://coveralls.io/github/IvanoLauriola/MKLpy?branch=master)\n[![PyPI version](https://badge.fury.io/py/MKLpy.svg)](https://badge.fury.io/py/MKLpy)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\n\n**MKLpy** is a framework for Multiple Kernel Learning (MKL) inspired by the [scikit-learn](http://scikit-learn.org/stable) project.\n\nThis package contains:\n* the implementation of some MKL algorithms;\n* tools to operate on kernels, such as normalization, centering, summation, average...;\n* metrics, such as kernel_alignment, radius of Minimum Enclosing Ball, margin between classes, spectral ratio...;\n* kernel functions, including boolean kernels (disjunctive, conjunctive, DNF, CNF) and string kernels (spectrum, fixed length and all subsequences).\n\n\nThe main MKL algorithms implemented in this library are\n\n|Name |Short description | Status | Source |\n|-----------|------------------|--------|:------:|\n| AverageMKL| Computes the simple average of base kernels | Available | - |\n| EasyMKL | Fast and memory efficient margin-based combination | Available |[[1]](https://www.sciencedirect.com/science/article/abs/pii/S0925231215003653) |\n| GRAM | Radius/margin ratio optimization | Available |[[2]](https://www.researchgate.net/publication/318468451_Radius-Margin_Ratio_Optimization_for_Dot-Product_Boolean_Kernel_Learning) |\n| R-MKL | Radius/margin ratio optimization | Available |[[3]](https://link.springer.com/content/pdf/10.1007/978-3-642-04180-8_39.pdf) |\n| MEMO | Margin maximization and complexity minimization | Available |[[4]](https://www.elen.ucl.ac.be/Proceedings/esann/esannpdf/es2018-181.pdf) |\n| PWMK | Heuristic based on individual kernels performance | Avaible |[[5]](https://ieeexplore.ieee.org/abstract/document/4586335) |\n| FHeuristic| Heuristic based on kernels alignment | Available |[[6]](https://ieeexplore.ieee.org/abstract/document/4731239) |\n| CKA | Centered kernel alignment optimization in closed form| Available|[[7]](https://static.googleusercontent.com/media/research.google.com/it//pubs/archive/36468.pdf) |\n| SimpleMKL | Alternate margin maximization | Work in progress |[[5]](http://www.jmlr.org/papers/volume9/rakotomamonjy08a/rakotomamonjy08a.pdf)|\n\n\nThe documentation of MKLpy is available on [readthedocs.io](https://mklpy.readthedocs.io/en/latest/)!\n\n\n\nInstallation\n------------\n\n**MKLpy** is also available on PyPI:\n```sh\npip install MKLpy\n```\n\n**MKLpy** leverages multiple scientific libraries, that are [numpy](https://www.numpy.org/), [scikit-learn](https://scikit-learn.org/stable/), [PyTorch](https://pytorch.org/), and [CVXOPT](https://cvxopt.org/).\n\n\nExamples\n--------\nThe 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.\n\nAdditionally, you may read our [tutorials](https://mklpy.readthedocs.io/en/latest/)\n\n\nWork in progress\n----------------\n**MKLpy** is under development! We are working to integrate several features, including:\n* additional MKL algorithms;\n* more kernels for structured data;\n* efficient optimization\n\n\n\n\nCiting MKLpy\n------------\nIf you use MKLpy for a scientific purpose, please **cite** the following preprint.\n\n```\n@article{lauriola2020mklpy,\n title={MKLpy: a python-based framework for Multiple Kernel Learning},\n author={Lauriola, Ivano and Aiolli, Fabio},\n journal={arXiv preprint arXiv:2007.09982},\n year={2020}\n}\n```",
"bugtrack_url": null,
"license": "GNU General Public License v3.0",
"summary": "A package for Multiple Kernel Learning scikit-compliant",
"version": "0.6",
"project_urls": {
"Download": "https://github.com/IvanoLauriola/MKLpy",
"Homepage": "https://github.com/IvanoLauriola/MKLpy"
},
"split_keywords": [
"kernel",
"mkl",
"learning",
"multiple kernel learning",
"easymkl",
"svm",
"boolean kernels"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ba21f3dc41cc62be50e6ccceb433dbc1ec17d6e685aa21231c10bee3d9081157",
"md5": "847666850332f867ed1d1817a8ec3fe4",
"sha256": "95dbf83ad0d40b5e798ab1cff09aca41edbe05f41facfdc14d82ecc77c7bd5af"
},
"downloads": -1,
"filename": "MKLpy-0.6.tar.gz",
"has_sig": false,
"md5_digest": "847666850332f867ed1d1817a8ec3fe4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 22542,
"upload_time": "2020-08-14T15:49:42",
"upload_time_iso_8601": "2020-08-14T15:49:42.221182Z",
"url": "https://files.pythonhosted.org/packages/ba/21/f3dc41cc62be50e6ccceb433dbc1ec17d6e685aa21231c10bee3d9081157/MKLpy-0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2020-08-14 15:49:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "IvanoLauriola",
"github_project": "MKLpy",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "mklpy"
}