Version 0.5.0 — Version 0.11.0.dev0

# Version 0.5.0

June 28, 2019

## Changelog

### Changed models

The following models or function might give different results even if the same data `X` and `y` are the same.

- `imblearn.ensemble.RUSBoostClassifier` default estimator changed from `sklearn.tree.DecisionTreeClassifier` with full depth to a decision stump (i.e., tree with `max_depth=1`).

### Documentation

- Correct the definition of the ratio when using a `float` in sampling strategy for the over-sampling and under-sampling. #525 by Ariel Rossanigo.

- Add `imblearn.over_sampling.BorderlineSMOTE` and `imblearn.over_sampling.SVMSMOTE` in the API documenation. #530 by Guillaume Lemaitre.

### Enhancement

- Add Parallelisation for SMOTEENN and SMOTETomek. #547 by Michael Hsieh.

- Add `imblearn.utils._show_versions`. Updated the contribution guide and issue template showing how to print system and dependency information from the command line. #557 by Alexander L. Hayes.

- Add `imblearn.over_sampling.KMeansSMOTE` which is an over-sampler clustering points before to apply SMOTE. #435 by Stephan Heijl.

### Maintenance

- Make it possible to `import imblearn` and access submodule. #500 by Guillaume Lemaitre.

- Remove support for Python 2, remove deprecation warning from scikit-learn 0.21. #576 by Guillaume Lemaitre.

### Bug

- Fix wrong usage of `keras.layers.BatchNormalization` in `porto_seguro_keras_under_sampling.py` example. The batch normalization was moved before the activation function and the bias was removed from the dense layer. #531 by Guillaume Lemaitre.

- Fix bug which converting to COO format sparse when stacking the matrices in `imblearn.over_sampling.SMOTENC`. This bug was only old scipy version. #539 by Guillaume Lemaitre.

- Fix bug in `imblearn.pipeline.Pipeline` where None could be the final estimator. #554 by Oliver Rausch.

- Fix bug in `imblearn.over_sampling.SVMSMOTE` and `imblearn.over_sampling.BorderlineSMOTE` where the default parameter of `n_neighbors` was not set properly. #578 by Guillaume Lemaitre.

- Fix bug by changing the default depth in `imblearn.ensemble.RUSBoostClassifier` to get a decision stump as a weak learner as in the original paper. #545 by Christos Aridas.

- Allow to import `keras` directly from `tensorflow` in the `imblearn.keras`. #531 by Guillaume Lemaitre.