Lift Plot

For classification models, this function creates a 'lift plot' that describes how well a model ranks samples for one class

lift(x, data = NULL, class = NULL, cuts = 11, 
     subset = TRUE, lattice.options = NULL,
     ylabel = "% Samples Found", xlabel = "% Samples Tested",

To construct the lift plot, the following steps are used for each model:

  1. The data are ordered by the numeric model prediction used on the right-hand side of the model formula
  2. The data are split intocuts - 1roughly equal groups
  3. the number of samples with true results equal toclassare determined
  4. the lift is calculated as the ratio of the percentage of samples in each split corresponding toclassover the same percentage in the entire data set
lift produces a plot of the cumulative lift values by the percentage of samples evaluated.

This implementation uses the lattice function xyplot, so plot elements can be changed via panel functions, trellis.par.set or other means. lift uses the panel function panel.lift2 by default, but it can be changes using update.trellis (see the examples in panel.lift2).


  • a lattice object

See Also

xyplot, trellis.par.set

simulated <- data.frame(obs = factor(rep(letters[1:2], each = 100)),
                        perfect = sort(runif(200), decreasing = TRUE),
                        random = runif(200))

lift(obs ~ random, data = simulated)
lift(obs ~ random, data = simulated,  type = c("p", "l"))
lift(obs ~ random + perfect, data = simulated,
     type = c("p", "l"),
     auto.key = list(columns = 2))
Documentation reproduced from package caret, version 5.07-001, License: GPL-2

Community examples

Looks like there are no examples yet.