-
Notifications
You must be signed in to change notification settings - Fork 12
Reformat the gaussian conditional sampler #366
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
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #366 +/- ##
==========================================
- Coverage 99.43% 99.38% -0.06%
==========================================
Files 22 20 -2
Lines 1247 1140 -107
==========================================
- Hits 1240 1133 -107
Misses 7 7 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
Thx for this refactoring. I have two relatively minor comments.
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.
Thanks, I agree that having both samplers implemented as classes makes sense.
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.
I think it limits extra work to integrate the test in this PR rather than having to fix something in an upcoming one. I made a suggestion for the tests.
Co-authored-by: Joseph Paillard <[email protected]>
Co-authored-by: Joseph Paillard <[email protected]>
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.
The PR is almost ready to merge
d = np.eye(n) | ||
sigma = u * d * u.T | ||
_s_equi(sigma) | ||
|
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.
final assert ?
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.
I did one test, tell me if it's ok.
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.
Sorry, I mean that we should either drop lines 62-67 or add a finall assert.
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.
I add a final assertion. I just want to check it.
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.
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.
@bthirion Can you check the assertion?
Co-authored-by: bthirion <[email protected]>
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.
Can you add to the user guide a brief explanation of what goes in statistical_tools, to help developers navigate the folder organisation.
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.
done. I provide a very short explanation which should be completed in another PR.
self, | ||
X: np.ndarray = None, | ||
y: np.ndarray = None, | ||
n_samples: int = 1, |
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.
Something is unclear here: IIUC, GaussianKnockoffs replaces gaussian_knockoff_generation
and should therefore output
However, I have the impression that the n_samples specified here is meant to be the number of repeats in knockoffs generation similar to n_boostraps
that calls multiple times repeat_gaussian_knockoff_generation
- Also there should not be a y argument
- And for the docstring of X, it should be the full input data no?
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.
I just copied the signature of ConditonalSampler
in order to have some equivalence and homogenisation of the API.
I know that the context is a bit different and the result will be different but I feel that it's better to keep it this link.
I reformat the Gaussian estimation of knockoff in the format of classes, as conditional sampling.
I moved all the conditional samplers into statistical_tool.