Closed kevinsteger closed 4 years ago
Yeah I was actually thinking about this myself. Do you think it would work if chantilly checks that the model has a predict_proba_one
method? For instance with hasattr(model, 'predict_proba_one')
.
If we do this, there should also be some checks in the /api/model
POST route to check that the provided model has a fit_one
and either a predict_one
or a predict_proba_one
method.
Tell me what you think.
Okay I just made the change. Now you provide any model that implements fit_one
and either predict_proba_one
or predict_one
. In other words you don't have to inherit from a creme
base class anymore. Sending a POST request to @/api/model
will raise an error if the model doesn't implement said methods.
I added some unit tests so it should be working fine. Tell me how it goes.
@kevinsteger I added a new "flavor" concept. Basically the flavor is in charge of validating the provided models. Again it doesn't require to provide a creme model, only a class that implements the required methods. You can see the associated documentation here. I'll let you close this if you're happy with it.
The current /predict only allows for predict_proba_one if the model is a Classifier. We are currently using the predict_proba_one method for a non-Classifier model however we can not access that method through chantilly.