-
Notifications
You must be signed in to change notification settings - Fork 180
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
Model Evaluation, Diagnostics and MLFlow Registry #1026
base: main
Are you sure you want to change the base?
Conversation
…e compliant with standards
…nclude in calc_metric
…conform with API guidelines and enable model registering
…ing an MMMEvaluator class and moving functions there as methods. Breaking out pm.compute_log_likelihood into its own method. Moving over diagnostic functions from MLFlow into this module
…V), adding remaining methods
@louismagowan, thanks for opening this one up again! Some tests (and the pre-commit) are failing. Do you need some help? |
@juanitorduz - thanks but I think I'm alright for now (or at least I think I can try and fix it myself later). I think I probably need to recreate my conda env (as I think it's a bit old now). @wd60622 - no need to review again yet, I'm still working on addressing your earlier feedback (I'll ping myself when I think I'm ready again) Thanks! |
Description
This PR is a recreation of this one which I was told to close and restart due to git issues on the pymc-marketing repo.
It could be nice to have some standardised model evaluation and diagnostic functions added to pymc-marketing. Ideally they'd be formulated in a way that makes them easy to log in MLFLow later on.
It would also be cool to build on top of the MLFlow module, to create a custom mlflow.pyfunc.PythonModel class to allow users to be able to register their models in the MLFlow registry. This would allow people to serve and maintain their MMMs more easily, and could help with MMM refreshes too.
Standard model metrics could include:
etc.
Diagnostic metrics could include:
Model Registry Code:
A wrapper for an MMM model to make it conform to the MLFlow api, enabling registering and easier deployment
I'll open this as a Draft for now - since I'll need advice on how where best to put this code, as well as overall design etc.
Related Issue
Checklist
Modules affected
Type of change
📚 Documentation preview 📚: https://pymc-marketing--1026.org.readthedocs.build/en/1026/