Release history¶
Version 0.3¶
- Third release of the stable API. By Rafael M O Cruz and Luiz G Hafemann
Changes¶
- All techniques are now sklearn estimators and passes the check_estimator tests.
- All techniques can now be instantiated without a trained pool of classifiers.
- Pool of classifiers can now be fitted together with the ensemble techniques. See simple example.
- Added support for Faiss (Facebook AI Similarity Search) for fast region of competence estimation on GPU.
- Added DES Multi-class Imbalance method
deslib.des.des_mi.DESMI
. - Added stacked classifier model,
deslib.static.stacked.StackedClassifier
to the static ensemble module. - Added a new Instance Hardness measure
utils.instance_hardness.kdn_score()
. - Added Instance Hardness support when using DES-Clustering.
- Added label encoder for the
static
module. - Added a script
utils.datasets
with routines to generate synthetic datasets (e.g., the P2 and XOR datasets). - Changed name of base classes (Adding Base to their following scikit-learn standards).
- Removal of DFP_mask, neighbors and distances as class variables.
- Changed signature of methods estimate_competence, predict_with_ds, predict_proba_with_ds. They now require the neighbors and distances to be passed as input arguments.
- Added random_state parameter to all methods in order to have reproducible results.
- Added Python 3.7 support.
- New and updated examples.
- Added performance tests comparing the speed of Faiss vs sklearn KNN.
Bug Fixes¶
- Fixed bug with META-DES when checking if the meta-classifier was already fitted.
- Fixed bug with random state on DCS techniques.
- Fixed high memory consumption on DES probabilistic methods.
- Fixed bug on Heterogeneous ensembles example and notebooks examples.
- Fixed bug on
deslib.des.probabilistic.MinimumDifference
when only samples from a single class are provided. - Fixed problem with DS methods when the number of training examples was lower than the k value.
- Fixed division by zero problems with
APosteriori
APriori
MLA
when the distance is equal to zero. - Fixed bug on
deslib.utils.prob_functions.exponential_func()
when the support obtained for the correct class was equal to one.
Version 0.2¶
- Second release of the stable API. By Rafael M O Cruz and Luiz G Hafemann.
Changes¶
- Implemented Label Encoding: labels are no longer required to be integers starting from 0. Categorical (strings) and non-sequential integers are supported (similarly to scikit-learn).
- Batch processing: Vectorized implementation of predictions. Large speed-up in computation time (100x faster in some cases).
- Predict proba: only required (in the base estimators) if using methods that rely on probabilities (or if requesting probabilities from the ensemble).
- Improved documentation: Included additional examples, a step-by-step tutorial on how to use the library.
- New integration tests: Now covering predict_proba, IH and DFP.
- Bug fixes on 1) predict_proba 2) KNOP with DFP.
Version 0.1¶
API¶
- First release of the stable API. By Rafael M O Cruz and Luiz G Hafemann.
Implemented methods:¶
- DES techniques currently available are:
- META-DES
- K-Nearest-Oracle-Eliminate (KNORA-E)
- K-Nearest-Oracle-Union (KNORA-U)
- Dynamic Ensemble Selection-Performance(DES-P)
- K-Nearest-Output Profiles (KNOP)
- Randomized Reference Classifier (DES-RRC)
- DES Kullback-Leibler Divergence (DES-KL)
- DES-Exponential
- DES-Logarithmic
- DES-Minimum Difference
- DES-Clustering
- DES-KNN
- DCS techniques:
- Modified Classifier Rank (Rank)
- Overall Locall Accuracy (OLA)
- Local Class Accuracy (LCA)
- Modified Local Accuracy (MLA)
- Multiple Classifier Behaviour (MCB)
- A Priori Selection (A Priori)
- A Posteriori Selection (A Posteriori)
- Baseline methods:
- Oracle
- Single Best
- Static Selection
- Dynamic Frienemy Prunning (DFP)
- Diversity measures
- Aggregation functions