pycaret.classification.predict_model#

pycaret.classification.predict_model(estimator, data: DataFrame | None = None, probability_threshold: float | None = None, encoded_labels: bool = False, raw_score: bool = False, round: int = 4, verbose: bool = True) DataFrame[source]#

This function predicts Label and Score (probability of predicted class) using a trained model. When data is None, it predicts label and score on the holdout set.

Example

>>> from pycaret.datasets import get_data
>>> juice = get_data('juice')
>>> from pycaret.classification import *
>>> exp_name = setup(data = juice,  target = 'Purchase')
>>> lr = create_model('lr')
>>> pred_holdout = predict_model(lr)
>>> pred_unseen = predict_model(lr, data = unseen_dataframe)
estimator: scikit-learn compatible object

Trained model object

data: pandas.DataFrame

Shape (n_samples, n_features). All features used during training must be available in the unseen dataset.

probability_threshold: float, default = None

Threshold for converting predicted probability to class label. Unless this parameter is set, it will default to the value set during model creation. If that wasn’t set, the default will be 0.5 for all classifiers. Only applicable for binary classification.

encoded_labels: bool, default = False

When set to True, will return labels encoded as an integer.

raw_score: bool, default = False

When set to True, scores for all labels will be returned.

round: int, default = 4

Number of decimal places the metrics in the score grid will be rounded to.

verbose: bool, default = True

When set to False, holdout score grid is not printed.

Returns:

pandas.DataFrame

Warning

  • The behavior of the predict_model is changed in version 2.1 without backward compatibility. As such, the pipelines trained using the version (<= 2.0), may not work for inference with version >= 2.1. You can either retrain your models with a newer version or downgrade the version for inference.