# NOT RUN {
if (require("rpart")) {
# First we fit a machine learning model on the Boston housing data
data("Boston", package = "MASS")
rf = rpart(medv ~ ., data = Boston)
X = Boston[-which(names(Boston) == "medv")]
mod = Predictor$new(rf, data = X)
# Then we explain the first instance of the dataset with the Shapley method:
x.interest = X[1,]
shapley = Shapley$new(mod, x.interest = x.interest)
shapley
# Look at the results in a table
shapley$results
# Or as a plot
plot(shapley)
# Explain another instance
shapley$explain(X[2,])
plot(shapley)
# }
# NOT RUN {
# Shapley() also works with multiclass classification
rf = rpart(Species ~ ., data = iris)
X = iris[-which(names(iris) == "Species")]
mod = Predictor$new(rf, data = X, type = "prob")
# Then we explain the first instance of the dataset with the Shapley() method:
shapley = Shapley$new(mod, x.interest = X[1,])
shapley$results
plot(shapley)
# You can also focus on one class
mod = Predictor$new(rf, data = X, type = "prob", class = "setosa")
shapley = Shapley$new(mod, x.interest = X[1,])
shapley$results
plot(shapley)
# }
# NOT RUN {
}
# }
Run the code above in your browser using DataCamp Workspace