apricot:用于 Python 数据摘要的子模选择
机器学习
2019-06-11 v1 机器学习
摘要
我们推出 apricot,一个利用子模优化从大型数据集中选择代表性子集的开源 Python 软件包。该包实现了一种高效的贪婪选择算法,对所选集合的质量提供强有力的理论保证。apricot 中实现了两个子模集函数:设施选址(facility location),其适用广泛但所需内存与数据集样本数成二次关系;以及基于特征的函数,其适用性较窄但可扩展至数百万样本。apricot 极为高效,同时使用了如懒惰贪婪算法等算法加速以及如 numba 等代码优化器。我们通过训练机器学习模型达到与使用完整数据集相当的精度、但仅使用代表性子集,展示了子集选择的应用。本文介绍了子模选择的解释、apricot 中功能的概览,以及其在多个数据集上的应用。代码与教程 Jupyter notebook 可在 https://github.com/jmschrei/apricot 获取。
引用
@article{arxiv.1906.03543,
title = {apricot: Submodular selection for data summarization in Python},
author = {Jacob Schreiber and Jeffrey Bilmes and William Stafford Noble},
journal= {arXiv preprint arXiv:1906.03543},
year = {2019}
}