# Load required packages library(ggplot2) library(grid) library(pdp) # Test function iris_test <- function(object, ...) { trn <- subset(iris, select = -Species) pd1 <- partial(object, pred.var = "Petal.Length", which.class = 1, prob = TRUE, train = trn, ...) pd2 <- partial(object, pred.var = "Petal.Length", which.class = 2, prob = TRUE, train = trn, ...) pd3 <- partial(object, pred.var = "Petal.Length", which.class = 3, prob = TRUE, train = trn, ...) pd <- rbind(cbind(pd1, "Class" = "1"), cbind(pd2, "Class" = "2"), cbind(pd3, "Class" = "3")) ggplot(pd, aes(x = Petal.Length, y = yhat, color = Class)) + geom_line() + xlab("Petal length") + ylab("Probability") + ggtitle(deparse(substitute(object))) + theme_light() }
MASS
iris_lda <- MASS::lda(Species ~ ., data = iris) iris_test(iris_lda)
iris_qda <- MASS::qda(Species ~ ., data = iris) iris_test(iris_qda)
mda
iris_fda <- mda::fda(Species ~ ., data = iris) iris_test(iris_fda)
iris_fda <- mda::mda(Species ~ ., data = iris) iris_test(iris_fda)
rpart
iris_rpart <- rpart::rpart(Species ~ ., data = iris) iris_test(iris_rpart)
C50
set.seed(101) # for reproducibility iris_C5.0 <- C50::C5.0(Species ~ ., data = iris, trials = 100) iris_test(iris_C5.0)
party
iris_ctree <- party::ctree(Species ~ ., data = iris) iris_test(iris_ctree)
partykit
iris_ctree2 <- partykit::ctree(Species ~ ., data = iris) iris_test(iris_ctree2)
adabag
set.seed(101) # for reproducibility iris_bagging <- adabag::bagging(Species ~ ., data = iris) iris_test(iris_bagging)
ipred
set.seed(101) # for reproducibility iris_ipred <- ipred::bagging(Species ~ ., data = iris, nbagg = 500) iris_test(iris_ipred)
randomForest
set.seed(101) # for reproducibility iris_rf <- randomForest::randomForest(Species ~ ., data = iris) iris_test(iris_rf)
party
set.seed(101) # for reproducibility iris_crf <- party::cforest(Species ~ ., data = iris) iris_test(iris_crf, quantiles = TRUE)
partykit
set.seed(101) # for reproducibility iris_crf2 <- partykit::cforest(Species ~ ., data = iris) iris_test(iris_crf2, quantiles = TRUE)
ranger
set.seed(101) # for reproducibility iris_ranger <- ranger::ranger(Species ~ ., data = iris, probability = TRUE) iris_test(iris_ranger)
adabag
set.seed(101) # for reproducibility iris_boosting <- adabag::boosting(Species ~ ., data = iris) iris_test(iris_boosting)
gbm
set.seed(101) # for reproducibility iris_gbm <- gbm::gbm(Species ~ ., data = iris, distribution = "multinomial", n.trees = 5000, interaction.depth = 3, shrinkage = 0.001, cv.folds = 5, verbose = FALSE) best.iter <- gbm::gbm.perf(iris_gbm, method = "cv", plot.it = FALSE) iris_test(iris_gbm, n.trees = best.iter)
xgboost
set.seed(101) # for reproducibility iris_xgb <- xgboost::xgboost( data = data.matrix(subset(iris, select = -Species)), label = unclass(iris$Species) - 1, num_class = 3, objective = "multi:softprob", nrounds = 100, max_depth = 3, eta = 0.1, gamma = 0, colsample_bytree = 0.8, min_child_weight = 1, subsample = 0.7, verbose = 0 ) iris_test(iris_xgb)
nnet
set.seed(101) # for reproducibility iris_nnet <- nnet::nnet(Species ~ ., data = iris, size = 10, decay = 0.1, maxit = 500, trace = FALSE) iris_test(iris_nnet)
e1071
iris_svm <- e1071::svm(Species ~ ., data = iris, type = "C-classification", probability = TRUE) iris_test(iris_svm)
kernlab
iris_ksvm <- kernlab::ksvm(Species ~ ., data = iris, type = "C-svc", prob.model = TRUE) iris_test(iris_ksvm)
nnet
set.seed(101) # for reproducibility iris_multinom <- nnet::multinom(Species ~ ., data = iris, trace = FALSE) iris_test(iris_multinom)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.