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!