MKLpy


NameMKLpy JSON
Version 0.6 PyPI version JSON
download
home_pagehttps://github.com/IvanoLauriola/MKLpy
SummaryA package for Multiple Kernel Learning scikit-compliant
upload_time2020-08-14 15:49:42
maintainer
docs_urlNone
authorLauriola Ivano
requires_python
licenseGNU General Public License v3.0
keywords kernel mkl learning multiple kernel learning easymkl svm boolean kernels
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            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"
}
        
Elapsed time: 0.23134s