Bayesian Optimization is a Python library that performs global optimization using gaussian processes and bayesian inference.
The library solves the problem of finding optimal parameters for expensive-to-evaluate functions with minimal iterations. It constructs a posterior distribution of functions using gaussian processes, then iteratively selects the next point to explore by balancing exploration and exploitation through acquisition strategies like Upper Confidence Bound or Expected Improvement. At each iteration, a gaussian process is fitted to previously observed points, and the posterior distribution guides the selection of the next candidate to evaluate. This approach is particularly effective when function evaluations are costly and the exploration-exploitation tradeoff is critical.
The tool suits practitioners optimizing high-cost functions where sample efficiency matters more than computational speed. It works well for hyperparameter tuning, experimental design, and other scenarios where each evaluation is expensive. The library is a pure Python implementation focused on simplicity and accessibility, making it suitable for users who need straightforward bayesian optimization without heavy dependencies.
The project maintains active development with passing tests and stable documentation. Code coverage is tracked and publicly reported. The package is distributed through standard Python package managers and supports multiple Python versions.