report#

scikitplot.kds.report(y_true, y_probas, *, class_index=1, term_tables=True, digits=3, ax=None, figsize=(12, 7), title_fontsize='large', text_fontsize='medium', plot_style=None, **kwargs)#

Generates a decile table and four plots: - Lift plot_lift - Lift@Decile plot_lift_decile_wise - Gain plot_cumulative_gain - KS plot_ks_statistic

from labels and probabilities.

Parameters:
  • y_true (array-like, shape (n_samples,)) – Ground truth (correct) target values.

  • y_probas (array-like, shape (n_samples, n_classes)) – Prediction probabilities for each class returned by a classifier.

  • class_index (int, optional, default=1) – Index of the class of interest for multi-class classification. Ignored for binary classification.

  • term_tables (bool, optional, default=True) –

    If True, prints a legend for the abbreviations of decile table column names.

    Added in version 0.3.9.

  • ax (matplotlib.axes.Axes, optional, default=None) – The axes upon which to plot. If None, a new set of axes is created.

  • figsize (tuple of int, optional, default=None) – Tuple denoting figure size of the plot (e.g., (6, 6)).

  • title_fontsize (str or int, optional, default='large') – Font size for the plot title. Use e.g., “small”, “medium”, “large” or integer-values.

  • text_fontsize (str or int, optional, default='medium') – Font size for the text in the plot. Use e.g., “small”, “medium”, “large” or integer-values.

  • digits (int, optional, default=3) –

    Number of digits for formatting output floating point values. Use e.g., 2 or 4.

    Added in version 0.3.9.

  • plot_style (str, optional, default=None) –

    Check available styles with “plt.style.available”. Examples include: [‘ggplot’, ‘seaborn’, ‘bmh’, ‘classic’, ‘dark_background’, ‘fivethirtyeight’, ‘grayscale’, ‘seaborn-bright’, ‘seaborn-colorblind’, ‘seaborn-dark’, ‘seaborn-dark-palette’, ‘tableau-colorblind10’, ‘fast’].

    Added in version 0.3.9.

Returns:

The dataframe containing the decile table with the deciles and related information.

Return type:

pandas.DataFrame

See also

plot_lift

Generates the Decile based cumulative Lift Plot from labels and probabilities.

plot_lift_decile_wise

Generates the Decile-wise Lift Plot from labels and probabilities.

plot_cumulative_gain

Generates the cumulative Gain Plot from labels and probabilities.

plot_ks_statistic

Generates the Kolmogorov-Smirnov (KS) Statistic Plot from labels and probabilities.

print_labels

A legend for the abbreviations of decile table column names.

decile_table

Generates the Decile Table from labels and probabilities.

References

[1] tensorbored/kds

Examples

>>> from sklearn.datasets import load_breast_cancer as data_2_classes
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.tree import DecisionTreeClassifier
>>> import scikitplot as skplt
>>> X, y = data_2_classes(return_X_y=True, as_frame=True)
>>> X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=0)
>>> clf = DecisionTreeClassifier(max_depth=1, random_state=0).fit(X_train, y_train)
>>> y_prob = clf.predict_proba(X_test)
>>> dt = skplt.kds.report(
>>>     y_test, y_prob, class_index=1
>>> )
>>> dt
LABELS INFO:

 prob_min         : Minimum probability in a particular decile
 prob_max         : Minimum probability in a particular decile
 prob_avg         : Average probability in a particular decile
 cnt_events       : Count of events in a particular decile
 cnt_resp         : Count of responders in a particular decile
 cnt_non_resp     : Count of non-responders in a particular decile
 cnt_resp_rndm    : Count of responders if events assigned randomly in a particular decile
 cnt_resp_wiz     : Count of best possible responders in a particular decile
 resp_rate        : Response Rate in a particular decile [(cnt_resp/cnt_cust)*100]
 cum_events       : Cumulative sum of events decile-wise 
 cum_resp         : Cumulative sum of responders decile-wise 
 cum_resp_wiz     : Cumulative sum of best possible responders decile-wise 
 cum_non_resp     : Cumulative sum of non-responders decile-wise 
 cum_events_pct   : Cumulative sum of percentages of events decile-wise 
 cum_resp_pct     : Cumulative sum of percentages of responders decile-wise 
 cum_resp_pct_wiz : Cumulative sum of percentages of best possible responders decile-wise 
 cum_non_resp_pct : Cumulative sum of percentages of non-responders decile-wise 
 KS               : KS Statistic decile-wise 
 lift             : Cumuative Lift Value decile-wise
decile prob_min prob_max prob_avg cnt_cust cnt_resp cnt_non_resp cnt_resp_rndm cnt_resp_wiz resp_rate cum_cust cum_resp cum_resp_wiz cum_non_resp cum_cust_pct cum_resp_pct cum_resp_pct_wiz cum_non_resp_pct KS lift
0 1 0.923 0.923 0.923 29.0 26.0 3.0 18.4 29 89.655 29.0 26.0 29 3.0 10.175 14.130 15.761 2.970 11.160 1.389
1 2 0.923 0.923 0.923 28.0 25.0 3.0 18.4 28 89.286 57.0 51.0 57 6.0 20.000 27.717 30.978 5.941 21.776 1.386
2 3 0.923 0.923 0.923 29.0 27.0 2.0 18.4 29 93.103 86.0 78.0 86 8.0 30.175 42.391 46.739 7.921 34.470 1.405
3 4 0.923 0.923 0.923 28.0 23.0 5.0 18.4 28 82.143 114.0 101.0 114 13.0 40.000 54.891 61.957 12.871 42.020 1.372
4 5 0.923 0.923 0.923 29.0 26.0 3.0 18.4 29 89.655 143.0 127.0 143 16.0 50.175 69.022 77.717 15.842 53.180 1.376
5 6 0.923 0.923 0.923 28.0 26.0 2.0 18.4 28 92.857 171.0 153.0 171 18.0 60.000 83.152 92.935 17.822 65.330 1.386
6 7 0.049 0.923 0.833 29.0 24.0 5.0 18.4 13 82.759 200.0 177.0 184 23.0 70.175 96.196 100.000 22.772 73.424 1.371
7 8 0.049 0.049 0.049 28.0 2.0 26.0 18.4 0 7.143 228.0 179.0 184 49.0 80.000 97.283 100.000 48.515 48.768 1.216
8 9 0.049 0.049 0.049 29.0 1.0 28.0 18.4 0 3.448 257.0 180.0 184 77.0 90.175 97.826 100.000 76.238 21.588 1.085
9 10 0.049 0.049 0.049 28.0 4.0 24.0 18.4 0 14.286 285.0 184.0 184 101.0 100.000 100.000 100.000 100.000 0.000 1.000
../../_images/scikitplot.kds.report_0_2.png