plot_oot_perf: plot_oot_perf 'plot_oot_perf' is for ploting performance of...

Description Usage Arguments Examples

View source: R/data_visualization.R

Description

plot_oot_perf plot_oot_perf is for ploting performance of cross time samples in the future

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
plot_oot_perf(
  dat_test,
  x,
  occur_time,
  target,
  k = 3,
  g = 10,
  period = "month",
  best = FALSE,
  equal_bins = TRUE,
  pl = "rate",
  breaks = NULL,
  cut_bin = "equal_depth",
  gtitle = NULL,
  perf_dir_path = NULL,
  save_data = FALSE,
  plot_show = TRUE
)

Arguments

dat_test

A data frame of testing dataset with predicted prob or score.

x

The name of prob or score variable.

occur_time

The name of the variable that represents the time at which each observation takes place.

target

The name of target variable.

k

If period is NULL, number of equal frequency samples.

g

Number of breaks for prob or score.

period

OOT period, 'weekly' and 'month' are available.if NULL, use k equal frequency samples.

best

Logical, merge initial breaks to get optimal breaks for binning.

equal_bins

Logical, generates initial breaks for equal frequency or width binning.

pl

'lift' is for lift chart plot,'rate' is for positive rate plot.

breaks

Splitting points of prob or score.

cut_bin

A string, if equal_bins is TRUE, 'equal_depth' or 'equal_width', default is 'equal_depth'.

gtitle

The title of the graph & The name for periodically saved graphic file.

perf_dir_path

The path for periodically saved graphic files.

save_data

Logical, save results in locally specified folder. Default is FALSE.

plot_show

Logical, show model performance in current graphic device. Default is TRUE.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
sub = cv_split(UCICreditCard, k = 30)[[1]]
dat = UCICreditCard[sub,]
dat = re_name(dat, "default.payment.next.month", "target")
x_list = c("PAY_0", "LIMIT_BAL", "PAY_AMT5", "PAY_3", "PAY_2")
dat = data_cleansing(dat, target = "target", obs_id = "ID",x_list = x_list,
occur_time = "apply_date", miss_values = list("", -1))
dat = process_nas(dat)
train_test = train_test_split(dat, split_type = "OOT", prop = 0.7,
                                occur_time = "apply_date")
dat_train = train_test$train
dat_test = train_test$test
Formula = as.formula(paste("target", paste(x_list, collapse = ' + '), sep = ' ~ '))
set.seed(46)
lr_model = glm(Formula, data = dat_train[, c("target", x_list)], family = binomial(logit))

dat_train$pred_LR = round(predict(lr_model, dat_train[, x_list], type = "response"), 5)
dat_test$pred_LR = round(predict(lr_model, dat_test[, x_list], type = "response"), 5)
plot_oot_perf(dat_test = dat_test, occur_time = "apply_date", target = "target", x = "pred_LR")

creditmodel documentation built on Jan. 7, 2022, 5:06 p.m.