Jupyter Notebook Python
Latest commit 4f8b838 Jan 12, 2018 @bhargavvader bhargavvader Merge pull request #26 from bhargavvader/plot_test
Adding plotting tests
Failed to load latest commit information.
notebooks Added updated notebooks Dec 26, 2017
pycobra Adding plotting tests Jan 12, 2018
tests Adding plotting tests Jan 12, 2018
.travis.yml fixing travis Jan 12, 2018
CHANGELOG.md Update to v0.2.0 Jul 27, 2017
LICENSE.txt Setting up pycobra Mar 25, 2017
README.md python badges Sep 28, 2017
requirements.txt Setting up pycobra Mar 25, 2017
setup.cfg Setting up pycobra Mar 25, 2017
setup.py Adding plotting tests Jan 12, 2018
tests.py fixing travis Jan 12, 2018


Travis Status Coverage Status Python27 Python35


pycobra is a python library for ensemble learning, which serves as a toolkit for regression, classification, and visualisation. It is scikit-learn compatible and fits into the existing scikit-learn ecosystem.

pycobra offers a python implementation of the COBRA algorithm introduced by Biau et al. (2016) for regression.

Another algorithm implemented is the EWA (Exponentially Weighted Aggregate) aggregation technique (among several other references, you can check the paper by Dalalyan and Tsybakov (2007).

Apart from these two regression aggregation algorithms, pycobra implements a version of COBRA for classification. This procedure has been introduced by Mojirsheibani (1999).

pycobra also offers various visualisation and diagnostic methods built on top of matplotlib which lets the user analyse and compare different regression machines with COBRA. The Visualisation class also lets you use some of the tools (such as Voronoi Tesselations) on other visualisation problems, such as clustering.

Documentation and Examples

The notebooks directory showcases the usage of pycobra, with examples and basic usage. The documentation page further covers how to use pycobra.


Run pip install pycobra to download and install from PyPI.

Run python setup.py install for default installation.

Run python setup.py test to run all tests.


  • Python 2.7+, 3.4+
  • numpy, scipy, scikit-learn, matplotlib


  • G. Biau, A. Fischer, B. Guedj and J. D. Malley (2016), COBRA: A combined regression strategy, Journal of Multivariate Analysis.
  • M. Mojirsheibani (1999), Combining Classifiers via Discretization, Journal of the American Statistical Association.
  • A. S. Dalalyan and A. B. Tsybakov (2007) Aggregation by exponential weighting and sharp oracle inequalities, Conference on Learning Theory.