• Stars
    star
    122
  • Rank 286,350 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 7 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

python library implementing ensemble methods for regression, classification and visualisation tools including Voronoi tesselations.

Travis Status Coverage Status Python27 Python35

pycobra

Citation

If you are using pycobra, please consider citing the following papers:

  • Guedj and Srinivasa Desikan (2020), Kernel-based ensemble learning in Python. Information (webpage)
  • Guedj and Srinivasa Desikan (2018), Pycobra: A Python Toolbox for Ensemble Learning and Visualisation. Journal of Machine Learning Research (webpage)
  • Biau, Fischer, Guedj and Malley (2016), COBRA: A combined regression strategy. Journal of Multivariate Analysis (webpage)

All these references are included in the file pycobra.bib.

What is pycobra?

pycobra is a python library for ensemble learning. It serves as a toolkit for regression and classification using these ensembled machines, and also for visualisation of the performance of the new machine and constituent machines. Here, when we say machine, we mean any predictor or machine learning object - it could be a LASSO regressor, or even a Neural Network. 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.

pycobra is described in the paper "Pycobra: A Python Toolbox for Ensemble Learning and Visualisation", Journal of Machine Learning Research, vol. 18 (190), 1--5.

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.

Installation

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.

Run pip install . to install from source.

Dependencies

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

References

  • B. Guedj and B. Srinivasa Desikan (2018). Pycobra: A Python Toolbox for Ensemble Learning and Visualisation. Journal of Machine Learning Research, vol. 18 (190), 1--5.
  • B. Guedj and B. Srinivasa Desikan (2020). Kernel-based ensemble learning in Python. Information, vol. 11(2).
  • 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.

More Repositories

1

personal

Contains Jupyter Notebooks of stuff I am working on.
Jupyter Notebook
200
star
2

CASApythonPort

Python code that implements the DUET blind source separation algorithm. Converted from the MATLAB code from here - https://github.com/yvesx/casa495
Python
23
star
3

audioData

Few python scripts to help with Speech Recognition problems, such as metadata of sound files and identifying pauses in audio files.
Python
6
star
4

thinking-deep-learning-tutorial

Repo for material and instructions for the Thinking with Deep Learning tutorial.
Jupyter Notebook
6
star
5

x2vec

python package for embedding a variety of data structures (words, networks, categorical and tabular data), and methods for integrating and exploring high dimensional spaces.
5
star
6

thinking-with-deep-learning

Code, material and resources for Thinking with Deep Learning
Jupyter Notebook
4
star
7

Content-Analysis-2020

Assignments for Computational Content Analysis 2020
Jupyter Notebook
4
star
8

WikiArtVectors

Repository for the WikiArtVectors dataset, where we provide style and color representations for 68094 artworks from the WikiArt Dataset.
Jupyter Notebook
2
star
9

thc-analysis

Code, data and analysis of THC based text data to accompany Consciousness and Cognition paper.
Jupyter Notebook
1
star
10

CMFS-Feature-Selection

Implementation of the CMFS algorithm for feature selection
Jupyter Notebook
1
star
11

bhargavvader.github.io

Personal website of me, Bhargav Srinivasa Desikan.
CSS
1
star
12

knowledge-economy

Repository to accompany paper on semantic model of knowledge economy.
Jupyter Notebook
1
star
13

WhatsApp_Analysis

Trying to analyse trends in WhatsApp conversations and do basic sentiment analysis.
Python
1
star