Skip to content

Conversation

@BrianSchiller
Copy link
Collaborator

No description provided.

Copilot AI review requested due to automatic review settings December 16, 2025 13:29
@codecov
Copy link

codecov bot commented Dec 16, 2025

Codecov Report

❌ Patch coverage is 97.26562% with 7 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
asf/selectors/hybrid_decision_tree.py 97.56% 4 Missing ⚠️
asf/selectors/parallel_portfolio_selector.py 96.66% 3 Missing ⚠️

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #137      +/-   ##
==========================================
+ Coverage   80.63%   81.53%   +0.89%     
==========================================
  Files          72       74       +2     
  Lines        4476     4732     +256     
==========================================
+ Hits         3609     3858     +249     
- Misses        867      874       +7     
Flag Coverage Δ
full 81.53% <97.26%> (+0.89%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
asf/selectors/__init__.py 100.00% <100.00%> (ø)
asf/selectors/parallel_portfolio_selector.py 96.66% <96.66%> (ø)
asf/selectors/hybrid_decision_tree.py 97.56% <97.56%> (ø)

Copy link
Contributor

Copilot AI left a 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 two new algorithm selectors for the ASF framework: HARRIS (Hybrid Ranking and Regression Forests) and APPS (Automatic Parallel Portfolio Selector). These selectors represent different approaches to algorithm selection - HARRIS uses a hybrid loss function combining regression and ranking objectives in decision tree ensembles, while APPS constructs parallel portfolios based on probabilistic performance predictions.

Key Changes:

  • Implementation of HARRIS selector using hybrid decision trees with configurable lambda parameter to balance regression (MSE) and ranking (Spearman correlation) objectives
  • Implementation of APPS selector that predicts algorithm portfolios for parallel execution based on winning probability thresholds
  • Comprehensive example scripts demonstrating both selectors with synthetic data and performance evaluation

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
asf/selectors/hybrid_decision_tree.py Core implementation of HARRIS selector and HybridDecisionTree class with hybrid loss function
asf/selectors/parallel_portfolio_selector.py Implementation of APPS selector with uncertainty-aware portfolio selection
asf/selectors/__init__.py Exports both new selectors (APPS and HARRIS) to the public API
test/selectors/test_selectors.py Basic test coverage for HARRIS and comprehensive tests for APPS including threshold behavior
examples/selection/18_harris_selector.py Demonstration of HARRIS with different lambda values and performance evaluation
examples/selection/17_parallel_portfolio.py Demonstration of APPS with various p_intersection thresholds and portfolio size analysis

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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