How to deal with Pycaret's adding extra features while modelling? (For reusing the model)

Issue

After importing Pycaret I called setup(mydf, 'mytarget') and run compare_models(). Then, I wanted to save a model from the comparison list and use it on another dataset. What I did was something like: lr = create_model('lr').

However, when I try lr.predict(mynewdfwithouttarget) I got the size mismatch error:

X has 11 features per sample; expecting 37

Other models in the list also output the same (or a similar) error.

So, what is the way to use the models that were trained inside compare_models()?

Thank you.

Solution

Create model:

lr = create_model('lr')

Predict on test / hold-out Sample:

predict_model(lr);

Finalize Model for Deployment:

final_lr = finalize_model(lr)

Predict on new data:

predictions = predict_model(final_lr, data = mynewdfwithouttarget)

Answered By – Essegn

Answer Checked By – Pedro (AngularFixing Volunteer)

Leave a Reply

Your email address will not be published.