Skip to content

Paretocurve#38

Merged
Wenyueh merged 8 commits intomainfrom
paretocurve
Mar 23, 2026
Merged

Paretocurve#38
Wenyueh merged 8 commits intomainfrom
paretocurve

Conversation

@Wenyueh
Copy link
Copy Markdown
Collaborator

@Wenyueh Wenyueh commented Mar 22, 2026

title "Add Pareto frontier plots for model selection results"

Summary

  • Add plot_pareto() method to SelectionResults that generates three pairwise 2D Pareto frontier plots: Accuracy vs Latency, Accuracy vs Price, Latency vs Price
  • Axes oriented so "better" is always top-right, producing concave frontiers
  • Points labeled with numbered indices (1), (2), etc. with a separate legend mapping numbers to combo names outside the plots
  • Pareto-optimal points highlighted in blue with frontier line; dominated points in gray; best combo marked with a gold star
  • matplotlib added as optional dependency under [plot] group, imported lazily
  • results.plot_pareto() added to all 7 example scripts
  • For bandit-type of problems, only graph the model combination that survive to the last stage

Test plan

  • All 63 existing tests pass (uv run pytest -x)
  • Run any example with --selector arm_elimination and verify the Pareto plot appears
  • Verify results.plot_pareto("output.png") saves to file correctly

resolves issue #37

@Wenyueh Wenyueh requested a review from TianyiPeng March 22, 2026 20:14
@Wenyueh Wenyueh merged commit 3c07793 into main Mar 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants