pycaret.classification.plot_model#

pycaret.classification.plot_model(estimator, plot: str = 'auc', scale: float = 1, save: bool = False, fold: int | Any | None = None, fit_kwargs: dict | None = None, plot_kwargs: dict | None = None, groups: str | Any | None = None, verbose: bool = True, display_format: str | None = None) str | None[source]#

This function analyzes the performance of a trained model on holdout set. It may require re-training the model in certain cases.

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')
>>> plot_model(lr, plot = 'auc')
estimator: scikit-learn compatible object

Trained model object

plot: str, default = ‘auc’

List of available plots (ID - Name):

  • ‘pipeline’ - Schematic drawing of the preprocessing pipeline

  • ‘auc’ - Area Under the Curve

  • ‘threshold’ - Discrimination Threshold

  • ‘pr’ - Precision Recall Curve

  • ‘confusion_matrix’ - Confusion Matrix

  • ‘error’ - Class Prediction Error

  • ‘class_report’ - Classification Report

  • ‘boundary’ - Decision Boundary

  • ‘rfe’ - Recursive Feature Selection

  • ‘learning’ - Learning Curve

  • ‘manifold’ - Manifold Learning

  • ‘calibration’ - Calibration Curve

  • ‘vc’ - Validation Curve

  • ‘dimension’ - Dimension Learning

  • ‘feature’ - Feature Importance

  • ‘feature_all’ - Feature Importance (All)

  • ‘parameter’ - Model Hyperparameter

  • ‘lift’ - Lift Curve

  • ‘gain’ - Gain Chart

  • ‘tree’ - Decision Tree

  • ‘ks’ - KS Statistic Plot

scale: float, default = 1

The resolution scale of the figure.

save: bool, default = False

When set to True, plot is saved in the current working directory.

fold: int or scikit-learn compatible CV generator, default = None

Controls cross-validation. If None, the CV generator in the fold_strategy parameter of the setup function is used. When an integer is passed, it is interpreted as the ‘n_splits’ parameter of the CV generator in the setup function.

fit_kwargs: dict, default = {} (empty dict)

Dictionary of arguments passed to the fit method of the model.

plot_kwargs: dict, default = {} (empty dict)
Dictionary of arguments passed to the visualizer class.
  • pipeline: fontsize -> int

groups: str or array-like, with shape (n_samples,), default = None

Optional group labels when GroupKFold is used for the cross validation. It takes an array with shape (n_samples, ) where n_samples is the number of rows in training dataset. When string is passed, it is interpreted as the column name in the dataset containing group labels.

verbose: bool, default = True

When set to False, progress bar is not displayed.

display_format: str, default = None

To display plots in Streamlit (https://www.streamlit.io/), set this to ‘streamlit’. Currently, not all plots are supported.

Returns:

Path to saved file, if any.

Warning

  • Estimators that does not support ‘predict_proba’ attribute cannot be used for ‘AUC’ and ‘calibration’ plots.

  • When the target is multiclass, ‘calibration’, ‘threshold’, ‘manifold’ and ‘rfe’ plots are not available.

  • When the ‘max_features’ parameter of a trained model object is not equal to the number of samples in training set, the ‘rfe’ plot is not available.