Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
apricot implements submodular optimization for the purpose of selecting subsets of massive data sets to train machine learning models quickly. See the documentation page: https://apricot-select.readthedocs.io/en/latest/index.html
| Date | Stars |
|---|---|
| 2026-08-05 | 534 |
| 2026-08-06 | 534 |
| 2026-08-13 | 534 |
| 2026-08-14 | 534 |
| 2026-08-18 | 534 |
| 2026-08-26 | 535 |
| 2026-08-29 | 536 |
| 2026-10-08 | 537 |
| 2026-11-04 | 537 |
Today
— stars today
This week
— stars this week
This month
+1 stars this month
Momentum
0.0
growth rate 0.00%/day
<img src="https://github.com/jmschrei/apricot/blob/master/docs/logos/apricot-logo.png" width=600>
[](https://pepy.tech/project/apricot-select) [](https://apricot-select.readthedocs.io/en/latest/?badge=latest)
Please consider citing the [manuscript](https://jmlr.org/papers/volume21/19-467/19-467.pdf) if you use apricot in your academic work!
You can find more thorough documentation [here](https://apricot-select.readthedocs.io/en/latest/index.html).
apricot implements submodular optimization for the purpose of summarizing massive data sets into minimally redundant subsets that are still representative of the original data. These subsets are useful for both visualizing the modalities in the data (such as in the two data sets below) and for training accurate machine learning models with just a fraction of the examples and compute.

Submodular optimization is a well studied field that focuses on set functions which have the *diminishing return* property. These set functions have the dimishing return property, such that adding an item to a set produces a smaller marginal gain than adding the same item to a superset of that set. More formally, for <a href="https://www.codecogs.com/eqnedit.php?latex=\inline&space;X&space;\subseteq&space;Y" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\inline&space;X&space;\subseteq&space;Y" title="X \subseteq Y" /></a>, the property is <a href="https://www.codecogs.com/eqnedit.php?latex=\inline&space;f(X&space;+&space;{v})&space;-&space;f(X)&space;\geq&space;f(Y&space;+&space;{v})&space;-&space;f(Y)" target="_blank"><img src="https://latex.codecogs.com/gif.latex?\inline&space;f(X&space;+&space;{v})&space;-&space;f(X)&space;\geq&space;f(Y&space;+&space;{v})&space;-&space;f(Y)" title="f(X + {v}) - f(X) \leq f(Y + {v}) - f(Y)" /></a>. When these functions represent a notion of diversity, finding the subset of examples that maximize these functions corresponds to finding a minimally redundant set.
There are many built-in submodular functions and optimizers in apricot. These include:
**Functions**
* [Feature-based](https://apricot-select.readthedocs.io/en/latest/functions/featureBased.html)
* [Max (Set) Coverage](https://apricot-select.readthedocs.io/en/latest/functions/maxCoverage.html)
* [Facility Location](https://apricot-select.readthedocs.io/en/latest/functions/facilityLocation.html)
* [Graph Cut](https://apricot-select.readthedocs.io/en/latest/functions/graphCut.html)
* [Sum Redundancy](https://apricot-select.readthedocs.io/en/latest/functions/sumRedundancy.html)
* [Saturated Coverage](https://apricot-select.readthedocs.io/en/latest/functions/saturatedCoverage.html)
* [Mixtures of Functions](https://apricot-select.readthedocs.io/en/latest/functions/mixture.html)
**Optimizers**
* [Naive Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/naive.html)
* [Lazy Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/lazy.html)
* [Two-Stage Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/two-stage.html)
* [Approximate Lazy Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/approx-lazy.html)
* [Stochastic Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/stochastic.html)
* [Sample Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/sample.html)
* [GreeDi](https://apricot-select.readthedocs.io/en/latest/optimizers/greedi.html)
* [Modular Approximation](https://apricot-select.readthedocs.io/en/latest/optimizers/modular.html)
* [Bidirectional Greedy](https://apricot-select.readthedocs.io/en/latest/optimizers/bidirectional.html)
### Installation
apricot can be installed easily from PyPI with `pip install apricot-select`
### Usage
ThExcerpt of 10,083 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:a165caaa4278e81f, llm:Repository description: 'apricot implements submodular optimization for the purpose of summarizing massive data sets into minimally redundant subsets ... useful for ... training accurate machine learning models with just a fraction of the examples' and topics: submodular-optimization, submodularity, machine-learning, data-science.
matched fp:a165caaa4278e81f, llm:Repository description: 'apricot implements submodular optimization for the purpose of summarizing massive data sets into minimally redundant subsets ... useful for ... training accurate machine learning models with just a fraction of the examples' and topics: submodular-optimization, submodularity, machine-learning, data-science.
matched fp:a165caaa4278e81f, llm:Repository description: 'apricot implements submodular optimization for the purpose of summarizing massive data sets into minimally redundant subsets ... useful for ... training accurate machine learning models with just a fraction of the examples' and topics: submodular-optimization, submodularity, machine-learning, data-science.