uforest: Fitting uplift random forest.

View source: R/uforest.R

uforestR Documentation

Fitting uplift random forest.

Description

uforest implements uplift random forests.

Usage

## S3 method for class 'formula'
uforest(formula, data, na.action, classLevel = NULL,
  treatLevel = NULL, control = uforest_control(...), ...)

## S3 method for class 'uforest'
print(x, ...)

Arguments

formula

A model formula of the form y ~ x1 + ....+ xn + trt(), where the left-hand side corresponds to the observed response, the right-hand side corresponds to the predictors, and 'trt' is the special expression to mark the treatment term. At the moment, uforest only handles binary responses.

data

A data frame in which to interpret the variables named in the formula.

na.action

A missing-data filter function.

classLevel

A character string for the class of interest. Defaults to the last level of the factor.

treatLevel

A character string for the treatment level of interest. Defaults to the last level of the treatment factor.

control

A list with control parameters, see uforest_control.

...

Arguments passed to uforest_control.

x

An object of class "uforest"

Details

uforest builds a sequence of de-correlated uplift trees (see utree) fitted on bootstrap samples of the training data. Additionally, the best split at each node is selected among a subset of predictors randomly selected at that node. See Guelman et al. (2015) for details.

Value

An object of class "uforest".

Author(s)

Leo Guelman leo.guelman@gmail.com

References

Guelman, L., Guillen, M., and Perez-Marin A.M. (2015). "A decision support framework to implement optimal personalized marketing interventions." Decision Support Systems, Vol. 72, pp. 24–32.

Hothorn, T., Hornik, K. and Zeileis, A. (2006). "Unbiased recursive partitioning: A conditional inference framework". Journal of Computational and Graphical Statistics, 15(3): 651–674.

Rzepakowski, Piotr and Jaroszewicz, Szymon. (2011). "Decision trees for uplift modeling with single and multiple treatments". Knowledge and Information Systems, 32(2) 303–327.

Strasser, H. and Weber, C. (1999). "On the asymptotic theory of permutation statistics". Mathematical Methods of Statistics, 8: 220–250.

Su, X., Tsai, C.-L., Wang, H., Nickerson, D. M. and Li, B. (2009). "Subgroup Analysis via Recursive Partitioning". Journal of Machine Learning Research 10, 141–158.

Examples


set.seed(1)
df <- sim_uplift(n = 1000, p = 50, response = "binary")
form <- create_uplift_formula(x = names(df)[-c(1:3)], y = "y", trt = "T")
fit <- uforest(form, data = df, maxdepth = 3, ntree = 10, nCore = 2)
fit
t1 <- fit$forest[[1]] # see structure of first tree
plot(t1,  main = "first tree...", gp = grid::gpar(cex = 0.5))

leoguelman/uplift2 documentation built on April 15, 2022, 4:34 a.m.