Ensemble learning's utility belt for sklearn and beyond
combo unifies model combination algorithms—from simple averaging to research-grade stacking and local selection—across classification, clustering, and anomaly detection behind one consistent API.

What it does
combo is a Python library for combining machine learning models and their scores. It wraps methods from scikit-learn, XGBoost, and LightGBM into a single API that handles classification, clustering, and anomaly detection ensembles. The library implements everything from basic majority voting and averaging to specialized techniques like Dynamic Classifier Selection, Stacking, and Locally Selective Combination for outlier detection.
The interesting bit
Instead of treating ensemble learning as a classification-only game, combo applies the same unifying philosophy across disparate tasks—clustering and anomaly detection included. It also JIT-compiles hot paths with numba and parallelizes with joblib, which is more effort than you typically see in a research demo library.
Key highlights
- Implements algorithms spanning general-purpose averaging, classification (DCS, DES, Stacking), clustering (EAC, Clusterer Ensemble), and anomaly detection (LSCP, XGBOD, AOM, MOA).
- Claims unified APIs with detailed documentation and interactive examples.
- Optimizes performance with
numbaJIT andjoblibparallelization where possible. - Published in AAAI 2020 and integrates with mainstream ML libraries like
scikit-learn,XGBoost, andLightGBM.
Caveats
- The README explicitly lists Python 3.5–3.7 as supported versions, which may suggest the documentation has not kept pace with newer Python releases.
Verdict
Worth a look if you regularly ensemble models across different tasks and want a consistent interface. Skip it if you only need basic voting for classification and prefer staying within native scikit-learn utilities.
Frequently asked
- What is yzhao062/combo?
- combo unifies model combination algorithms—from simple averaging to research-grade stacking and local selection—across classification, clustering, and anomaly detection behind one consistent API.
- Is combo open source?
- Yes — yzhao062/combo is open source, released under the BSD-2-Clause license.
- What language is combo written in?
- yzhao062/combo is primarily written in Python.
- How popular is combo?
- yzhao062/combo has 661 stars on GitHub.
- Where can I find combo?
- yzhao062/combo is on GitHub at https://github.com/yzhao062/combo.