knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
This example demonstrates how to use the breakDown
package for models created with the caret package.
First we will generate some data.
library(caret) set.seed(2) training <- twoClassSim(50, linearVars = 2) trainX <- training[, -ncol(training)] trainY <- training$Class head(training)
Now we are ready to train a model. Let's train a glm
model with caret
.
cctrl1 <- trainControl(method = "cv", number = 3, returnResamp = "all", classProbs = TRUE, summaryFunction = twoClassSummary) test_class_cv_model <- train(trainX, trainY, method = "glm", trControl = cctrl1, metric = "ROC", preProc = c("center", "scale")) test_class_cv_model
To use breakDown
we need a function that will calculate scores/predictions for a single observation. By default the predict()
function returns predicted class.
So we are adding type = "prob"
argument to get scores. And since there will be two scores for each observarion we need to extract one of them.
predict.fun <- function(model, x) predict(model, x, type = "prob")[,1] testing <- twoClassSim(10, linearVars = 2) predict.fun(test_class_cv_model, testing[1,])
Now we are ready to call the broken()
function.
library("breakDown") explain_2 <- broken(test_class_cv_model, testing[1,], data = trainX, predict.function = predict.fun) explain_2
And plot it.
library(ggplot2) plot(explain_2) + ggtitle("breakDown plot for caret/glm model")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.