Skip to content

Save used sampler for each parameter in Trial #6185

@1kastner

Description

@1kastner

Motivation

At times, people like I like to compare the performance of different samplers for a given hyper-parameter optimization problem. To better understand why one sampler outperforms another, it is helpful to know which sampler has been used for which parameter. Some of the samplers already log when they need to fall back to a less sophisticated sampler, most commonly RandomSampler (see, e.g., #6164). This information, however, is not permanently stored in the optimization study (often an SQL database).

Description

It could be very helpful if this is also permanently stored in the Trial itself for analysis lateron. In the best case, this information is also included into the DataFrame returned by study.trials_dataframe. My idea would be that the Trial object keeps a dictionairy with the name of the sampled parameter as a string as the key and the name of the used sampler as a string as the value.

Alternatives (optional)

We can already analyze this fallback mechanism from the log files - not yet for all samplers, though. We shall continue the work invested into #6164 and create related changes, such as #6179.

Additional context (optional)

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureChange that does not break compatibility, but affects the public interfaces.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions