Skip to content

Commit

Permalink
InteractionPlot refactor
Browse files Browse the repository at this point in the history
Summary:
When this is landed we will be able to use this plot in Ax 1.0 and Ax UI.

Refactor the interaction plot to be in line with our structure for ax.analysis. This includes a massive reduction in overall code (about half) and a full decoupling from ax.plot.

Adds robustness features around generating subplots -- a failed surface subplot will no longer fail the full analysis.

This new version of the plot is slightly more opinionated in that we always plot both the feature importance bar chart AND the top 6 features, always plots top 15 components in the bar chart, never decomposes components, and always has plots share scale. These settings are most useful and help drastically simplify the code, so I think we should keep them for now and only consider adding them back if there is demand.

Differential Revision: D65234856
  • Loading branch information
mpolson64 authored and facebook-github-bot committed Nov 21, 2024
1 parent 8f5fcf3 commit 36cac30
Show file tree
Hide file tree
Showing 4 changed files with 308 additions and 678 deletions.
2 changes: 2 additions & 0 deletions ax/analysis/plotly/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
# pyre-strict

from ax.analysis.plotly.cross_validation import CrossValidationPlot
from ax.analysis.plotly.interaction import InteractionPlot
from ax.analysis.plotly.parallel_coordinates import ParallelCoordinatesPlot
from ax.analysis.plotly.plotly_analysis import PlotlyAnalysis, PlotlyAnalysisCard
from ax.analysis.plotly.scatter import ScatterPlot
Expand All @@ -15,6 +16,7 @@
__all__ = [
"ContourPlot",
"CrossValidationPlot",
"InteractionPlot",
"PlotlyAnalysis",
"PlotlyAnalysisCard",
"ParallelCoordinatesPlot",
Expand Down
Loading

0 comments on commit 36cac30

Please sign in to comment.