Skip to content
HungaBunga: Brute-Force all sklearn models with all parameters using .fit .predict!
Branch: master
Clone or download
Latest commit 046b1f2 Sep 1, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
hunga_bunga hunga bunga Aug 21, 2019
HungaBunga.png hunga bunga Aug 20, 2019
LICENSE.txt hunga bunga Sep 1, 2019
README.txt hunga bunga Sep 1, 2019 Update Sep 1, 2019 hunga bunga Aug 21, 2019 hunga bunga Sep 1, 2019


Brute Force all scikit-learn models and all scikit-learn parameters with fit predict.

Lets brute force all sklearn models with all of sklearn parameters! Ahhh Hunga Bunga!!
from hunga_bunga import HungaBungaClassifier, HungaBungaRegressor
And then simply:



No! Really! What?

Many believe that

most of the work of supervised (non-deep) Machine Learning lies in feature engineering, whereas the model-selection process is just running through all the models or just take xgboost.

So here is an automation for that.


Runs through all sklearn models (both classification and regression), with all possible hyperparameters, and rank using cross-validation.


Runs all the model available on sklearn for supervised learning here. The categories are:

  • Generalized Linear Models
  • Kernel Ridge
  • Support Vector Machines
  • Nearest Neighbors
  • Gaussian Processes
  • Naive Bayes
  • Trees
  • Neural Networks
  • Ensemble methods

Note: Some models were dropped out (nearly none of them..) and some crash or cause exceptions from time to time. It takes REALLY long to test this out so clearing exceptions took me a while.


pip install hunga-bunga


- Python (>= 2.7)
- NumPy (>= 1.11.0)
- SciPy (>= 0.17.0)
- joblib (>= 0.11)
- scikit-learn (>=0.20.0)
- tabulate (>=0.8.2)
- tqdm (>=4.28.1)

Option I (Recommended): brain = False

As any other sklearn model

clf = HungaBungaClassifier(), y)

And import from here

from hunga_bunga import HungaBungaClassifier, HungaBungaRegressor

Option II: brain = True

As any other sklearn model

clf = HungaBungaClassifier(brain=True), y)

The output looks this:

Model accuracy Time/clf (s)
SGDClassifier 0.967 0.001
LogisticRegression 0.940 0.001
Perceptron 0.900 0.001
PassiveAggressiveClassifier 0.967 0.001
MLPClassifier 0.827 0.018
KMeans 0.580 0.010
KNeighborsClassifier 0.960 0.000
NearestCentroid 0.933 0.000
RadiusNeighborsClassifier 0.927 0.000
SVC 0.960 0.000
NuSVC 0.980 0.001
LinearSVC 0.940 0.005
RandomForestClassifier 0.980 0.015
DecisionTreeClassifier 0.960 0.000
ExtraTreesClassifier 0.993 0.002

The winner is: ExtraTreesClassifier with score 0.993.

You can’t perform that action at this time.