from sklearn_benchmarks.reporting.hpo import HPOReporting
from sklearn_benchmarks.utils import default_results_directory
from pathlib import Path
import pandas as pd
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
results_dir = default_results_directory()
# Parameters
results_dir = "/home/parietal/mbatoul/sklbench_results/20211223T211117"
results_dir = Path(results_dir)
reporting_hpo = HPOReporting(config="config.yml", results_dir=results_dir)
reporting_hpo.make_report()
Here, we assume there is no perfect match of hyperparameters between librairies. We perform a randomized hyperparameters search with a fixed time budget for each library.
We boostrap 10 000 times the hyperparameters optimization data points represented on the plot above. Then we compute the average cumulated time to reach a specific validation score by taking the mean across the bootstrapped samples. The shaded areas represent the quartiles of the bootstrap samples. The fastest libraries are therefore the closest to the upper left corner. The specification of the HP grid can be found in the configuration file.
The speed-up threshold is found by taking 95% of the best score of the worst performing library.