<commit_before>![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)
![Python 3.5](https://img.shields.io/badge/python-3.5-blue.svg)
![Python 2.7](https://img.shields.io/badge/python-2.7-blue.svg)
[![PyPI version](https://badge.fury.io/py/mlens.svg)](http://badge.fury.io/py/mlens)
[![Build Status](https://travis-ci.org/flennerhag/mlens.svg?branch=master)](https://travis-ci.org/flennerhag/mlens)
[![Build status](https://ci.appveyor.com/api/projects/status/99g65kvraic8w2la/branch/master?svg=true)](https://ci.appveyor.com/project/flennerhag/mlens/branch/master)
[![Code Health](https://landscape.io/github/flennerhag/mlens/master/landscape.svg?style=flat)](https://landscape.io/github/flennerhag/mlens/master)
[![Coverage Status](https://coveralls.io/repos/github/flennerhag/mlens/badge.svg?branch=master)](https://coveralls.io/github/flennerhag/mlens?branch=master)
[![Documentation Status](https://readthedocs.org/projects/mlens/badge/?version=latest)](http://mlens.readthedocs.io/en/latest/?badge=latest)
![License](https://img.shields.io/badge/license-MIT-blue.svg)

# ML- Ensemble

**A Python library for memory efficient
parallelized ensemble learning**.

ML-Ensemble combines the Scikit-learn estimator API with a neural-network style
API to allow straight-forward multi-layer ensemble network architectures that
can be used as any Scikit-learn estimator.

The core principle of ML-Ensemble is to maximize parallel processing at minimum
memory consumption. ML-Ensemble uses memory mapping to remain memory neutral
during parallel estimation.

For full documentation, see [here](http://mlens.readthedocs.io/en/latest/).

## Core Features

### Transparent Architecture API

Ensembles are built by adding layers to an instance object: layers in their
turn are comprised of a list of estimators. No matter how complex the
ensemble, to train it call the ``fit`` method:

```Python
ensemble = Subsemble()<commit_msg>badge pointing to stable build<commit_after>![Python 3.6](https://img.shields.io/badge/python-3.6-blue.svg)
![Python 3.5](https://img.shields.io/badge/python-3.5-blue.svg)
![Python 2.7](https://img.shields.io/badge/python-2.7-blue.svg)
[![PyPI version](https://badge.fury.io/py/mlens.svg)](http://badge.fury.io/py/mlens)
[![Build Status](https://travis-ci.org/flennerhag/mlens.svg?branch=master)](https://travis-ci.org/flennerhag/mlens)
[![Build status](https://ci.appveyor.com/api/projects/status/99g65kvraic8w2la/branch/master?svg=true)](https://ci.appveyor.com/project/flennerhag/mlens/branch/master)
[![Code Health](https://landscape.io/github/flennerhag/mlens/master/landscape.svg?style=flat)](https://landscape.io/github/flennerhag/mlens/master)
[![Coverage Status](https://coveralls.io/repos/github/flennerhag/mlens/badge.svg?branch=master)](https://coveralls.io/github/flennerhag/mlens?branch=master)
[![Documentation Status](http://readthedocs.org/projects/mlens/badge/?version=stable)](http://mlens.readthedocs.io/en/stable/?badge=stable)
![License](https://img.shields.io/badge/license-MIT-blue.svg)

# ML- Ensemble

**A Python library for memory efficient
parallelized ensemble learning**.

ML-Ensemble combines the Scikit-learn estimator API with a neural-network style
API to allow straight-forward multi-layer ensemble network architectures that
can be used as any Scikit-learn estimator.

The core principle of ML-Ensemble is to maximize parallel processing at minimum
memory consumption. ML-Ensemble uses memory mapping to remain memory neutral
during parallel estimation.

For full documentation, see [here](http://mlens.readthedocs.io/en/latest/).

## Core Features

### Transparent Architecture API

Ensembles are built by adding layers to an instance object: layers in their
turn are comprised of a list of estimators. No matter how complex the
ensemble, to train it call the ``fit`` method:

```Python
ensemble = Subsemble()
{'fraction_non_alphanumeric': 0.14963880288957687, 'fraction_numerical': 0.009287925696594427, 'mean_word_length': 5.537942664418212, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 27, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1708827', 'n_tokens_mistral': 1356, 'n_tokens_neox': 1285, 'n_words': 259}