mklpy

A package for Multiple Kernel Learning in Python

https://github.com/ivanolauriola/mklpy

Science Score: 23.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: researchgate.net, sciencedirect.com, springer.com, ieee.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

boolean-kernel kernel-methods mkl multiple-kernel-learning representation-learning string-kernel
Last synced: 6 months ago · JSON representation

Repository

A package for Multiple Kernel Learning in Python

Basic Info
  • Host: GitHub
  • Owner: IvanoLauriola
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 458 KB
Statistics
  • Stars: 131
  • Watchers: 9
  • Forks: 45
  • Open Issues: 8
  • Releases: 0
Topics
boolean-kernel kernel-methods mkl multiple-kernel-learning representation-learning string-kernel
Created over 9 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License

README.md

MKLpy

Documentation Status Build Status Coverage Status PyPI version License: GPL v3

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: sh 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} }

Owner

  • Name: Ivano
  • Login: IvanoLauriola
  • Kind: user

GitHub Events

Total
  • Issues event: 1
  • Watch event: 4
  • Fork event: 1
Last Year
  • Issues event: 1
  • Watch event: 4
  • Fork event: 1

Committers

Last synced: over 2 years ago

All Time
  • Total Commits: 141
  • Total Committers: 6
  • Avg Commits per committer: 23.5
  • Development Distribution Score (DDS): 0.043
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
ivanolauriola i****a@g****m 135
Mirko m****8@g****m 2
ivanolauriola i****a@g****m 1
Lauriola Ivano i****l@l****t 1
Stefano Campese s****e@o****m 1
Matteo Lisotto m****o@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 21
  • Total pull requests: 8
  • Average time to close issues: 3 months
  • Average time to close pull requests: 6 months
  • Total issue authors: 20
  • Total pull request authors: 5
  • Average comments per issue: 2.19
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Dawntown (2)
  • Ausen-Good (1)
  • abnerzyx (1)
  • bixiu (1)
  • HarlanZhou (1)
  • Mr-brillianter (1)
  • Jerry-Jie-Xie (1)
  • KARTHEEKCIC (1)
  • palita-s (1)
  • ghost (1)
  • caowencai (1)
  • chachalin (1)
  • eddiewrc (1)
  • greenstick (1)
  • raamana (1)
Pull Request Authors
  • IvanoLauriola (2)
  • raamana (2)
  • Oghma (2)
  • sirCamp (1)
  • Daksh (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 190 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 10
  • Total maintainers: 1
pypi.org: mklpy

A package for Multiple Kernel Learning scikit-compliant

  • Versions: 10
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 190 Last month
Rankings
Forks count: 6.1%
Stargazers count: 6.7%
Dependent packages count: 10.0%
Downloads: 10.8%
Average: 11.1%
Dependent repos count: 21.7%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • mkdocs-material *
  • mkdocs-material-extensions *
  • pymdown-extensions *
requirements.txt pypi
  • cvxopt *
  • numpy >1.18
  • scikit-learn *
  • torch *
setup.py pypi
  • cvxopt *
  • numpy *
  • scikit-learn *
  • torch *