-
Notifications
You must be signed in to change notification settings - Fork 406
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
remove input transform checks #1568
Conversation
Codecov Report
@@ Coverage Diff @@
## main #1568 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 153 153
Lines 13651 13646 -5
=========================================
- Hits 13651 13646 -5
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
@saitcakmak this is an interesting one - any thoughts how this would relate to / interact with the input transform refactor that has been on your mind? |
@Balandat This just removes some user facing checks. It'll require the users be more careful about what input transform they use but it shouldn't affect anything else otherwise. |
One other thing in the context of probabilistic reparameterization: Based on @sdaulton PR on probabilistic reparameterization, I asked myself how one would set up parameterized categoricals via probabilistic reparameterization. An example would be to have a categorical variable named molecule with 10 different categories (molecules). I am able to parametrize every molecule by a descriptor vector of length three, meaning three numbers representing three properties of every molecule (I think you did something like this in the original paper). From what I understood from @sdaulton's implementation one would encode this parametrized categorical still as one-hot for the optimizer and the reparametrized acqfs, but would need an input transform |
@Balandat @saitcakmak Is this fine for you or should I change something in addition before the merge? |
I am fine with merging this in as is |
@Balandat has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Motivation
As I am currently refactoring our internal codebase, I had a look at @sdaulton PR regarding probabilistic reparameterization.
From my understanding one has to use it by representing the categoricals by a one hot encoding for the reparmeterized ACQF and then eventually transforming the input to a numerical represenation via
OneHotToNumeric
especially when one wants to use it togehter withMixedSingleTaskGP
. Currently MixedSingleTaskGP is very strict on which input transforms are allowed. This PR lifts the restrictions to make it usable with OneHotToNumeric`.Note that the transform also has to be instantiated with
transform_on_train = False
andtrain_X
has to be transformed before it is passed to the constructor ofMixedSingleTaskGP
, else the indices for the different kernels are mixed up.Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
Unit tests.
Related PRs
#1534