# MRCpy: A Library for Minimax Risk Classifiers

arXiv: https://arxiv.org/abs/2108.01952 · HTML: https://mlsanity.com/paper/2108.01952/

## Key facts

- Cited by 5 papers in the map (data through 14 Oct 2026).
- Builds on 9 of its 56 references that are in the map.
- First posted on arXiv 4 Aug 2021.

## Builds on (most cited first, 9 of 9)

- [Adam: A Method for Stochastic Optimization](https://mlsanity.com/paper/1412.6980/) (2014)
- [CVXPY: A Python-Embedded Modeling Language for Convex Optimization](https://mlsanity.com/paper/1603.00943/) (2016)
- [River: machine learning for streaming data in Python](https://mlsanity.com/paper/2012.04740/) (2020)
- [Scikit-Multiflow: A Multi-output Streaming Framework](https://mlsanity.com/paper/1807.04662/) (2018)
- [Handling Concept Drift via Model Reuse](https://mlsanity.com/paper/1809.02804/) (2018)
- [Generalized Maximum Entropy for Supervised Classification](https://mlsanity.com/paper/2007.05447/) (2020)
- [Minimax Classification with 0-1 Loss and Performance Guarantees](https://mlsanity.com/paper/2010.07964/) (2020)
- [The Strength of Nesterov's Extrapolation in the Individual Convergence of Nonsmooth Optimization](https://mlsanity.com/paper/2006.04340/) (2020)
- [Solving L1-regularized SVMs and related linear programs: Revisiting the effectiveness of Column and Constraint Generation](https://mlsanity.com/paper/1901.01585/) (2019)

## Built on by (most cited first, 5 of 5)

- [Minimax risk classifiers with 0-1 loss](https://mlsanity.com/paper/2201.06487/) (2022)
- [Double-Weighting for Covariate Shift Adaptation](https://mlsanity.com/paper/2305.08637/) (2023)
- [Efficient Learning of Minimax Risk Classifiers in High Dimensions](https://mlsanity.com/paper/2306.06649/) (2023)
- [Efficient Large-Scale Learning of Minimax Risk Classifiers](https://mlsanity.com/paper/2511.17626/) (2025)
- [Minimax Generalized Cross-Entropy](https://mlsanity.com/paper/2603.19874/) (2026)

## Abstract (arXiv)

Libraries for supervised classification have enabled the wide-spread usage of machine learning methods. Existing libraries, such as scikit-learn, caret, and mlpack, implement techniques based on the classical empirical risk minimization (ERM) approach. We present a Python library, MRCpy, that implements minimax risk classifiers (MRCs) based on the robust risk minimization (RRM) approach. The library offers multiple variants of MRCs that can provide performance guarantees, enable efficient learning in high dimensions, and adapt to distribution shifts. MRCpy follows an object-oriented approach and adheres to the standards of popular Python libraries, such as scikit-learn, facilitating readability and easy usage together with a seamless integration with other libraries. The source code is available under the GPL-3.0 license at https://github.com/MachineLearningBCAM/MRCpy.
