Description Usage Arguments Value See Also Examples
View source: R/plottingmodelplots.R
Generates a layout containing a number graphical elements, including title, subtitle and the four model evaluation plots: cumulative gains plot, lift plot, response plot and cumulative response plot.
1 2 3 4 5 6 7 8 |
data |
Dataframe. Dataframe needs to be created with |
save_fig |
Logical. Save plot to file? Default = FALSE. When set to TRUE, saved plot is optimized for 36x24cm. |
save_fig_filename |
String. Filename of saved plot. Default the plot is saved as tempdir()/plotname.png. |
custom_line_colors |
Vector of Strings. Specifying colors for the lines in the plot. When not specified, colors from the RColorBrewer palet "Set1" are used. |
highlight_ntile |
Integer. Specifying the ntile at which the plot is annotated and/or performances are highlighted. |
custom_plot_text |
List. List with customized textual elements for plot. Create a list with defaults
by using |
gtable, containing 6 grobs.
modelplotr
for generic info on the package moddelplotr
plotting_scope
for details on the function plotting_scope
that
transforms a dataframe created with prepare_scores_and_ntiles
or aggregate_over_ntiles
to
a dataframe in the required format for all modelplotr plots.
aggregate_over_ntiles
for details on the function aggregate_over_ntiles
that
aggregates the output of prepare_scores_and_ntiles
to create a dataframe with aggregated actuals and predictions.
In most cases, you do not need to use it since the plotting_scope
function will call this function automatically.
https://github.com/modelplot/modelplotr for details on the package
https://modelplot.github.io/ for our blog on the value of the model plots
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # load example data (Bank clients with/without a term deposit - see ?bank_td for details)
data("bank_td")
# prepare data for training model for binomial target has_td and train models
train_index = sample(seq(1, nrow(bank_td)),size = 0.5*nrow(bank_td) ,replace = FALSE)
train = bank_td[train_index,c('has_td','duration','campaign','pdays','previous','euribor3m')]
test = bank_td[-train_index,c('has_td','duration','campaign','pdays','previous','euribor3m')]
#train models using caret... (or use mlr or H2o or keras ... see ?prepare_scores_and_ntiles)
# setting caret cross validation, here tuned for speed (not accuracy!)
fitControl <- caret::trainControl(method = "cv",number = 2,classProbs=TRUE)
# random forest using ranger package, here tuned for speed (not accuracy!)
rf = caret::train(has_td ~.,data = train, method = "ranger",trControl = fitControl,
tuneGrid = expand.grid(.mtry = 2,.splitrule = "gini",.min.node.size=10))
# mnl model using glmnet package
mnl = caret::train(has_td ~.,data = train, method = "glmnet",trControl = fitControl)
# load modelplotr
library(modelplotr)
# transform datasets and model objects to input for modelplotr
scores_and_ntiles <- prepare_scores_and_ntiles(datasets=list("train","test"),
dataset_labels = list("train data","test data"),
models = list("rf","mnl"),
model_labels = list("random forest","multinomial logit"),
target_column="has_td",
ntiles=10)
plot_input <- plotting_scope(prepared_input = scores_and_ntiles)
plot_multiplot(data=plot_input)
plot_multiplot(data=plot_input,highlight_ntile = 2)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.