Too Long; Didn't Read
Optuna is slightly better because of the flexibility, imperative approach to sampling parameters and a bit less boilerplate. Hyperopt has a ton of sampling options for each hyperparameter type (Float, integer, Categorical). Optuna has a search space definition, flexibility in defining a complex space and sampling options (Float) for each parameter type. In this article I will show you an example of using Optuna and Hyperopt on a real problem, compare them on API, documentation, functionality, and more, give you my overall score and recommendation on which library you should use.