-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Feature Request - Parallel Coordinates Plot for GridSearch result analysis #24281
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
Comments
Hey @julien-blanchon! I work at wandb, curious what you meant by:
I think it should be possible to create your own parallel coordinates plot with wandb no? Or is it the sklearn & wandb integration that isn't working for you? Happy to see if I can help here :) |
During the triaging meeting, we decide that this feature is interesting, but not high priority. We do welcome upvotes on this issue to gauge interest. On this note, the PR #23740 has an example that demonstrates how to use plotly's For me, I think parallel coordinate plots work well only if it is interactive, which means depending on a library such as plotly. A matplotlib version would work within scikit-learn's current constraints, but it creates a static image. There are ways to make matplotlib interactive, but it only works for specific backends. |
Hi @morganmcg1, sklearn wandb integration work well ! I was talking about the Hyperparameter Sweeps integrated parallel coordinates chart (https://wandb.ai/site/articles/introduction-hyperparameter-sweeps). It doest the jobs but I need "extensive" work to make it work and you need wandb (which a bunch of other things) anyway to visualize your parallel plot. My proposition was more like adding a small function as a sklearn plot to easily generate matplotlib/jpeg plot |
Hi @thomasjpfan, I'm happy to ear news !
I agree with you, in this case interactivity help a lot. But even as a static image parallel plot could be extensivily usefull. I'm not a big fan ether of using matplotlib interactive backends. Anyway in case of increasing interest, I have some code snippet for that and I will be quite happy to help with this issues ;) |
Describe the workflow you want to enable
GridSearch result are hard to analyze expecially when
param_grid
is very large.The current documentation show usages of:
None of these plot can represent nicely more then a 2D relationship. 3D, 4D and more can be visualize by making a bunch of basic 2D plot, but the number plot will easily became huge and we lost relationship beetween some
params
. This get even worse withRandomizedSearchCV
as the params are not evenly compute.One common way to represent N-D relationship without loss is to use Parallel Coordinates Plot:
The current implementation of PC Plot are:
param_grid
format. Plus is not matplotlib compatible.param_grid
format compatibility.Describe your proposed solution
I presently use my own implementation of matplotlib PC Plot (see the image above) for my work.
The current interface is:
If think the community could benefith from using a common and scikit-learn integrated implementation (for example in
metrics.ParallelCoordinatesPlot
orinspection.ParallelCoordinatesPlot
and withplot_parallel_coordinates
function)Describe alternatives you've considered, if relevant
No response
Additional context
Please give 👍 if you think this could be benefith, so we can start discuss implementation.
The text was updated successfully, but these errors were encountered: