DRO: A Python Library for Distributionally Robust Optimization in Machine Learning
Jiashuo Liu, Tianyu Wang, Henry Lam, Hongseok Namkoong, Jose Blanchet

TL;DR
The paper presents dro, an open-source Python library that facilitates distributionally robust optimization in machine learning, supporting multiple formulations and models with significant runtime improvements.
Contribution
Introduces dro, a versatile Python library implementing 14 DRO formulations and 9 models, compatible with scikit-learn and PyTorch, with optimized performance for large datasets.
Findings
Reduces runtime by 10x to over 1000x on large datasets
Supports 79 distinct DRO methods
Compatible with scikit-learn and PyTorch
Abstract
We introduce dro, an open-source Python library for distributionally robust optimization (DRO) for regression and classification problems. The library implements 14 DRO formulations and 9 backbone models, enabling 79 distinct DRO methods. Furthermore, dro is compatible with both scikit-learn and PyTorch. Through vectorization and optimization approximation techniques, dro reduces runtime by 10x to over 1000x compared to baseline implementations on large-scale datasets. Comprehensive documentation is available at https://python-dro.org.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRisk and Portfolio Optimization · Advanced Multi-Objective Optimization Algorithms · Metaheuristic Optimization Algorithms Research
MethodsLib
