Machine Learning & AI

optuna

The tireless intern that tries thousands of setting combinations so nobody has to guess.

Install it: pip install optuna

What does it do?

Optuna automatically searches for the best settings for a machine learning model, things like how many decision trees to use or how fast the model should learn, instead of a human manually guessing and checking one combination at a time. It’s smart about the search too: rather than trying every possible combination blindly, it learns from earlier attempts to focus on promising areas, and it can abandon clearly bad attempts early to save time. This process, called hyperparameter optimization, used to be one of the most tedious, trial-and-error parts of building a machine learning model. Optuna turns days of manual fiddling into an automated overnight job.

See it in action

This code automatically tries fifty different numbers to find the one that gives the best result for a simple formula, standing in for tuning a real model’s settings.

import optuna

def objective(trial):
    x = trial.suggest_float("x", -10, 10)
    return (x - 2) ** 2

study = optuna.create_study()
study.optimize(objective, n_trials=50)
print(study.best_params)

Why would a non-developer care?

Squeezing extra accuracy out of an AI model often comes down to finding the right combination of dozens of adjustable settings, a search space too large for a human to explore by hand. Automating that search, as Optuna does, is a big part of why modern machine learning models can be tuned to a level of performance impractical to reach through manual trial and error.

Real-world examples

It was developed by Preferred Networks, a Japanese AI company, and is now widely used across the machine learning community, often integrated directly with libraries like XGBoost, LightGBM, and PyTorch to automatically tune their many settings. Kaggle competitors commonly use it to squeeze out the last few percentage points of model accuracy.

Who uses it

Data scientists and machine learning engineers who need to tune model settings automatically rather than by manual trial and error.

How it compares to alternatives

Its main alternatives are Ray Tune, built for optimizing at a much larger, distributed scale, and older tools like scikit-learn’s built-in grid search, which tries every combination exhaustively and is far slower and less efficient than Optuna’s smarter search strategy.

New to Python and want to actually try libraries like this yourself?

Find a beginner-friendly course

Related libraries