Change process function for Trained MLSerialPipeline

Hi,

I have a trained MLSerialPipeline that contains a single step (SklearnPipe).

technique: SklearnTechnique.make({
    name: "ensemble.RandomForestClassifier",
    *processingFunctionName: "predict",*
    hyperParameters:{
        "random_state": 0, 
        "oob_score":true,
...

I want to change the “processingFunctionName” from predict to predict_log_proba what should I do?

  1. Change the code and retrain the models?
  2. Change the code and reprovision?
  3. Change the relevant attribute / field in the trained models?

Thanks!
A

I think you should do both 1 & 2, unless changing the prediction function will have no effect on the training process (doesn’t seem likely) in which case you can get away with just 2

You should just change the relevant attribute / field in the trained model i.e. processingFunctionName. There is no need to retrain in this case because only the processing part is affected, not the training.
If you need to update the attribute on the untrained model you may have to also change the code and reprovision if your untrained model comes from seed data.