sklift.viz.plot_uplift_by_percentile

sklift.viz.base.plot_uplift_by_percentile(y_true, uplift, treatment, strategy='overall', kind='line', bins=10, string_percentiles=True)[source]

Plot uplift score, treatment response rate and control response rate at each percentile.

Treatment response rate ia a target mean in the treatment group. Control response rate is a target mean in the control group. Uplift score is a difference between treatment response rate and control response rate.

Parameters
  • y_true (1d array-like) – Correct (true) binary target values.

  • uplift (1d array-like) – Predicted uplift, as returned by a model.

  • treatment (1d array-like) – Treatment labels.

  • strategy (string, ['overall', 'by_group']) –

    Determines the calculating strategy. Default is ‘overall’.

    • 'overall':

      The first step is taking the first k observations of all test data ordered by uplift prediction (overall both groups - control and treatment) and conversions in treatment and control groups calculated only on them. Then the difference between these conversions is calculated.

    • 'by_group':

      Separately calculates conversions in top k observations in each group (control and treatment) sorted by uplift predictions. Then the difference between these conversions is calculated.

  • kind (string, ['line', 'bar']) –

    The type of plot to draw. Default is ‘line’.

    • 'line':

      Generates a line plot.

    • 'bar':

      Generates a traditional bar-style plot.

  • bins (int) – Determines а number of bins (and the relative percentile) in the test data. Default is 10.

  • string_percentiles (bool) – type of xticks: float or string to plot. Default is True (string).

Returns

Object that stores computed values.