scikit-optimize

scikit-optimize: Sequential model-based optimization in Python. Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements several methods for sequential model-based optimization. skopt aims to be accessible and easy to use in many contexts. The library is built on top of NumPy, SciPy and Scikit-Learn. We do not perform gradient-based optimization. For gradient-based optimization algorithms look at scipy.optimize here.