Skip to content
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

Elevate foreign predictors to GPMs #112

Open
fsaad opened this issue Feb 6, 2016 · 0 comments
Open

Elevate foreign predictors to GPMs #112

fsaad opened this issue Feb 6, 2016 · 0 comments

Comments

@fsaad
Copy link
Collaborator

fsaad commented Feb 6, 2016

We need foreign predictors to be "elevated" to the status of GPMs to eliminate the asymmetry between the probabilistic objects in the MML and BQL universe. To be standalone GPMs, we need a better notion of typed-inputs and typed-outputs for a GPM, and communicate this information between MML and BQL.

In particular, a Kepler GPM should have apogee, perigee as inputs and period as output. On its own (ie no composition with crosscat), Kepler GPM cannot answer the BQL query SIMULATE period GIVEN apogee since it has missing condition. It seems to be that reasonable behavior is to thrown an error, since the BQL query is invalid (just like invoking a function with the wrong number of arguments).

As of now, we have three foreign predictors

  • Kepler
  • Multiple regression
  • Random forest

I believe the best solution is to create a generic "foreign predictor to gpm" wrapper, which will save users from the big overhead of implementing the feared metamodel.py and just implement the much simpler IForeignPredictor in python. The composer will then be written to invoke the GPM interface on the output of the FP->GPM wrapper, thus eliminating the asymmetry in the abstraction.

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

No branches or pull requests

1 participant