符合 scikit 的多内核学习包
项目描述
MKLpy
MKLpy是一个受scikit-learn项目启发的多内核学习 (MKL) 框架。
这个包包含:
- 一些MKL算法的实现;
- 对内核进行操作的工具,例如归一化、居中、求和、平均……;
- 指标,例如 kernel_alignment、最小封闭球的半径、类之间的边距、光谱比……;
- 核函数,包括布尔核(析取、合取、DNF、CNF)和字符串核(谱、定长和所有子序列)。
这个库中实现的主要 MKL 算法是
| 姓名 | 简短的介绍 | 地位 | 资源 |
|---|---|---|---|
| 平均MKL | 计算基本内核的简单平均值 | 可用的 | - |
| 易MKL | 快速且内存高效的基于边距的组合 | 可用的 | [1] |
| 公克 | 半径/边距比优化 | 可用的 | [2] |
| R-MKL | 半径/边距比优化 | 可用的 | [3] |
| 备忘录 | 边际最大化和复杂性最小化 | 可用的 | [4] |
| 脉宽调制K | 基于单个内核性能的启发式 | 可用 | [5] |
| F启发式 | 基于内核对齐的启发式 | 可用的 | [6] |
| CKA | 封闭形式的居中内核对齐优化 | 可用的 | [7] |
| 简单MKL | 备用边距最大化 | 工作正在进行中 | [5] |
MKLpy 的文档可在readthedocs.io上找到!
安装
MKLpy也可用于 PyPI:
pip install MKLpy
MKLpy利用多个科学库,即numpy、scikit-learn、PyTorch和CVXOPT。
例子
文件夹示例包含几个脚本和代码片段,以显示MKLpy的潜力。这些示例展示了如何训练分类器、如何处理数据以及如何使用核函数。
此外,您可以阅读我们的教程
工作正在进行中
MKLpy正在开发中!我们正在努力整合多项功能,包括:
- 额外的 MKL 算法;
- 更多用于结构化数据的内核;
- 高效优化
引用 MKLpy
如果您将 MKLpy 用于科学目的,请引用以下预印本。
@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}
}