Learn R Programming

scorecard (version 0.1.5)

perf_eva: KS, ROC, Lift, PR

Description

perf_eva provides performance evaluations, such as kolmogorov-smirnow(ks), ROC, lift and precision-recall curves, based on provided label and predicted probability values.

Usage

perf_eva(label, pred, title = "performance", groupnum = 20, type = c("ks",
  "roc"), show_plot = TRUE, positive = "bad|1", seed = 186)

Arguments

label

Label values, such as 0s and 1s, 0 represent for good and 1 for bad.

pred

Predicted probability or score.

title

Title of plot, default "performance".

groupnum

The group numbers when calculating bad probability, default 20.

type

Types of performance plot, such as "ks", "lift", "roc", "pr". Default c("ks", "roc").

show_plot

Logical value, default TRUE. It means whether to show plot.

positive

Value of positive class, default "bad|1".

seed

An integer. The specify seed is used for random sorting data, default: 186.

Value

ks, roc, lift, pr

See Also

perf_psi

Examples

Run this code
# NOT RUN {
library(data.table)
library(scorecard)

# Traditional Credit Scoring Using Logistic Regression
# load germancredit data
data("germancredit")

# rename creditability as y
dt = data.table(germancredit)[, `:=`(
  y = ifelse(creditability == "bad", 1, 0),
  creditability = NULL
)]

# woe binning ------
bins = woebin(dt, "y")
dt_woe = woebin_ply(dt, bins)

# glm ------
m1 = glm( y ~ ., family = "binomial", data = dt_woe)
# summary(m1)

# Select a formula-based model by AIC
m_step = step(m1, direction="both", trace=FALSE)
m2 = eval(m_step$call)
# summary(m2)

# predicted proability
dt_pred = predict(m2, type='response', dt_woe)

# performance ------
# Example I # only ks & auc values
perf_eva(dt_woe$y, dt_pred, show_plot=FALSE)

# Example II # ks & roc plot
perf_eva(dt_woe$y, dt_pred)

# Example III # ks, lift, roc & pr plot
perf_eva(dt_woe$y, dt_pred, type = c("ks","lift","roc","pr"))
# }

Run the code above in your browser using DataLab