-
Notifications
You must be signed in to change notification settings - Fork 1
Pairwise Ranking Selector #138
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces three new algorithm selection methods based on pairwise ranking: APPS (Automatic Parallel Portfolio Selector), HARRIS (Hybrid Ranking and Regression Forests), and RPC (Ranking by Pairwise Comparison). These selectors expand the library's capabilities for algorithm portfolio selection and ranking-based approaches.
Key Changes:
- Implementation of three novel selector classes with distinct selection strategies
- Comprehensive test coverage for all three selectors with parametrized tests
- Four example scripts demonstrating practical usage and evaluation scenarios
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
asf/selectors/parallel_portfolio_selector.py |
Implements APPS selector using bootstrap ensembles and Gaussian distribution overlap for parallel portfolio selection |
asf/selectors/hybrid_decision_tree.py |
Implements HARRIS selector combining regression and ranking losses in decision tree ensembles |
asf/selectors/rpc_selector.py |
Implements RPC selector using pairwise binary classification and Copeland scoring |
asf/selectors/__init__.py |
Exports the three new selector classes for public API |
test/selectors/test_selectors.py |
Adds comprehensive tests for all three selectors including edge cases and parameter variations |
examples/selection/17_parallel_portfolio.py |
Demonstrates APPS usage with synthetic data and various p_intersection values |
examples/selection/18_harris_selector.py |
Shows HARRIS functionality with different lambda parameters |
examples/selection/19_rpc_selector.py |
Illustrates RPC for both single selection and parallel portfolios |
examples/selection/20_apps_aslib_eval.py |
Provides cross-validation evaluation of APPS on ASlib benchmarks |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report❌ Patch coverage is @@ Coverage Diff @@
## main #138 +/- ##
==========================================
+ Coverage 84.22% 84.79% +0.56%
==========================================
Files 87 90 +3
Lines 6943 7281 +338
==========================================
+ Hits 5848 6174 +326
- Misses 1095 1107 +12
Flags with carried forward coverage won't be shown. Click here to find out more.
|
No description provided.