In chapter 10, you integrated your DC taxi model with the PyTorch Lightning framework, factoring out boilerplate engineering code and paving the way to hyperparameter optimization support. In this chapter, you are going to adopt Optuna, a hyperparameter optimization framework, to progress beyond a trial-and-error approach to selection of your machine learning hyperparameter values. You will train a collection of DC taxi model instances based on the hyperparameter values selected using Optuna’s Tree-Structured Parzen Estimator(TPE) that fits a Gaussian mixture model (GMM) to the hyperparameters in your machine learning system. The performance of these model instances is compared using various Optuna visualization plots.