Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scatter plot of ranks as a more readable contour plot #384

Open
contramundum53 opened this issue Feb 1, 2023 · 1 comment
Open

Scatter plot of ranks as a more readable contour plot #384

contramundum53 opened this issue Feb 1, 2023 · 1 comment
Labels
enhancement New feature or request no-stale Exempt from stale bot

Comments

@contramundum53
Copy link
Member

contramundum53 commented Feb 1, 2023

Motivation

Current contour plot looks like this with around 2000 trials and 8 parameters.
image
image

(Plotly version freezes my VSCode so I show the matplotlib version.)

These figures are not very readable and helpful. There are several points to improve:

  • The plotted contour is currently based on interpolation of values, in the projected plane of parameters. This is not mathematically meaningful (e.g. this is not the value the sampler predicted, nor is it the result of some kind of regression), and it produces ugly noises especially when the objective function is noisy. We could remove the contour altogether.
  • The points currently have no information about the objective values. We could color the points based on them.
  • The figure size currently does not scale up when there are many parameters. Instead, we should make the figure size proportional to the number of parameters.
  • The order of the parameters are the default order of parameters. In many cases, it is difficult to know which figure out of the N(N-1) figures you should look at. Instead, we could add an option to sort the parameters in the order of importance, and move the important figures in the upper left corner.
  • The scaling of objective values are important to make the figure readable. As a robust scaling method, we could use ranks of the objective values.

I improved these points to create this figure.
image
スクリーンショット 2023-02-01 11 36 41

From these plots, we can analyze that 1. the optimization landscape is very smooth, 2. the parameters are pretty independent, 3. the last three parameters are less important than other parameters, and 4. we already have enough samples to explore the search space.

@contramundum53 contramundum53 added the enhancement New feature or request label Feb 1, 2023
@c-bata
Copy link
Member

c-bata commented Feb 1, 2023

@contramundum53 Cool! We welcome your contribution 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request no-stale Exempt from stale bot
Projects
None yet
Development

No branches or pull requests

3 participants