LGMLJun 8, 2019

apricot: Submodular selection for data summarization in Python

arXiv:1906.03543v158 citationsHas Code
Originality Synthesis-oriented
AI Analysis

This provides a tool for data summarization in Python, but it is incremental as it implements existing submodular methods with optimizations.

The authors introduced apricot, a Python package for selecting representative subsets from large datasets using submodular optimization, which enables training machine learning models to comparable accuracy with reduced data.

We present apricot, an open source Python package for selecting representative subsets from large data sets using submodular optimization. The package implements an efficient greedy selection algorithm that offers strong theoretical guarantees on the quality of the selected set. Two submodular set functions are implemented in apricot: facility location, which is broadly applicable but requires memory quadratic in the number of examples in the data set, and a feature-based function that is less broadly applicable but can scale to millions of examples. Apricot is extremely efficient, using both algorithmic speedups such as the lazy greedy algorithm and code optimizers such as numba. We demonstrate the use of subset selection by training machine learning models to comparable accuracy using either the full data set or a representative subset thereof. This paper presents an explanation of submodular selection, an overview of the features in apricot, and an application to several data sets. The code and tutorial Jupyter notebooks are available at https://github.com/jmschrei/apricot

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes