Comparison with other softwareΒΆ

pyGPGO is not the only available Python package for bayesian optimization. To the best of our knowledge, we believe that it is one of the most comprehensive ones in terms of features available to the user. We show a table comparing some of the most common features here:

  pyGPGO Spearmint fmfn/BayesianOptimization pyBO MOE GPyOpt scikit-optimize
GP implementation Native Native via scikit-learn via Reggie Native via GPy via scikit-learn
Modular Yes No No No No Yes No
Surrogates {GP, tSP, RF, ET, GBM} {GP} {GP} {GP} {GP} {GP, RF, WGP} {GP, RF, GBM}
Type II ML optimization Yes No No No Yes Yes Yes
MCMC inference Yes (via pyMC3) Yes No Yes No Yes No
Choice of MCMC sampler Yes Yes No Yes No No No
Acquisition functions {PI, EI, UCB, Entropy} {EI} {PI, EI, UCB} {PI, EI, UCB, Thompson sampling} {EI} {PI, EI, UCB} {PI, EI, UCB}
Integrated acq. function Yes Yes No Yes No Yes No
License MIT Academic MIT BSD-2 Apache BSD-3 BSD
Last update (as of Apr. 2017)
Apr 2016 Mar 2017 Sept 2015 Apr 2016 Apr 2017 Apr 2017
Python version > 3.5 2.7 2/3 2/3 2.7 2/3 2/3

If you like some other feature implemented into pyGPGO or think this table is outdated or incorrect, please let us know by opening an issue on the Github repository of the package!