-
Notifications
You must be signed in to change notification settings - Fork 458
Efficient leave-one-out cross-validation for ensemble models #3103
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
Conversation
|
@SebastianAment has exported this pull request. If you are a Meta employee, you can view the originating Diff in D88506875. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3103 +/- ##
========================================
Coverage 99.99% 99.99%
========================================
Files 219 219
Lines 21013 21127 +114
========================================
+ Hits 21012 21126 +114
Misses 1 1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
…torch#3103) Summary: This commit introduces a new function `ensemble_loo_cv` in `botorch/cross_validation.py` for performing efficient leave-one-out cross-validation (LOOCV) on ensemble models, in addition to `loo_cv`, which automatically dispatches to the correct efficient CV implementation (ensemble, or non-ensemble), dependent on the `_is_ensemble` attribute. Differential Revision: D88506875
adbb2ae to
caa1162
Compare
…torch#3103) Summary: This commit introduces a new function `ensemble_loo_cv` in `botorch/cross_validation.py` for performing efficient leave-one-out cross-validation (LOOCV) on ensemble models, in addition to `loo_cv`, which automatically dispatches to the correct efficient CV implementation (ensemble, or non-ensemble), dependent on the `_is_ensemble` attribute. Differential Revision: D88506875
caa1162 to
c35444e
Compare
…-pytorch#3098) Summary: BoTorch currently supports a naive version of leave-one-out (LOO) cross-validation, which entails generating all folds directly and evaluating the model on all folds separately. However, for Gaussian processes, there is an efficient way to compute all LOO results (LOO predictive means and variances) with a single linear-algebraic formula with a O(n^3) complexity, whereas the naive approach takes O(n^3) per fold, so O(n^4) in total. This commit implements the effient LOO CV method for non-ensemble BoTorch models whose prior marginal distributions are a multi-variate Normals. Reviewed By: Balandat Differential Revision: D88273413
…torch#3103) Summary: This commit introduces a new function `ensemble_loo_cv` in `botorch/cross_validation.py` for performing efficient leave-one-out cross-validation (LOOCV) on ensemble models, in addition to `loo_cv`, which automatically dispatches to the correct efficient CV implementation (ensemble, or non-ensemble), dependent on the `_is_ensemble` attribute. Reviewed By: Balandat Differential Revision: D88506875
c35444e to
e23c6b0
Compare
|
This pull request has been merged in 645d9e5. |
Summary: This commit introduces a new function
ensemble_loo_cvinbotorch/cross_validation.pyfor performing efficient leave-one-out cross-validation (LOOCV) on ensemble models, in addition toloo_cv, which automatically dispatches to the correct efficient CV implementation (ensemble, or non-ensemble), dependent on the_is_ensembleattribute.Differential Revision: D88506875