DeepSuperLearner

by levyben

DeepSuperLearner - Python implementation of the deep ensemble algorithm

126 Stars 20 Forks Last release: Not found MIT License 8 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

DeepSuperLearner (2018) in Python

This is a sklearn implementation of the machine-learning DeepSuperLearner algorithm, A Deep Ensemble method for Classification Problems.

For details about DeepSuperLearner please refer to the https://arxiv.org/abs/1803.02323: Deep Super Learner: A Deep Ensemble for Classification Problems by Steven Young, Tamer Abdou, and Ayse Bener.

Installation and demo

  1. Clone this repository

    bash
    git clone https://github.com/levyben/DeepSuperLearner.git
    
  2. Install the python library

    bash
    cd DeepSuperLearner
    python setup.py install
    

Example:

    ERT_learner = ExtremeRandomizedTrees(n_estimators=200, max_depth=None, max_features=1)
    kNN_learner = kNearestNeighbors(n_neighbors=11)
    LR_learner = LogisticRegression()
    RFC_learner = RandomForestClassifier(n_estimators=200, max_depth=None)
    XGB_learner = XGBClassifier(n_estimators=200, max_depth=3, learning_rate=1.)
    Base_learners = {'ExtremeRandomizedTrees':ERT_learner, 'kNearestNeighbors':kNN_learner, 'LogisticRegression':LR_learner,
                     'RandomForestClassifier':RFC_learner, 'XGBClassifier':XGB_learner}    
    np.random.seed(100)
    X, y = datasets.make_classification(n_samples=1000, n_features=12,
                                        n_informative=2, n_redundant=6)
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
    DSL_learner = DeepSuperLearner(Base_learners)
    DSL_learner.fit(X_train, y_train)
    DSL_learner.get_precision_recall(X_test, y_test, show_graphs=True)    

See deepSuperLearner/example.py for full example.

Alt text

Notes:

  1. For running example you need to install the XGB python lib as it is used as a base learner just as done in the paper.
  2. Although the algorithm is implemented for classification problems, it can be modified to perform on regression problems aswell.

TODO:

  • [x] Train on some sklearn data.
  • [ ] Restore paper classification results.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.