## ----knitr-options, include=FALSE--------------------------------------------- knitr::opts_chunk$set(comment = "#>", collapse = TRUE, eval = FALSE, fig.align = "center") ## ----load-data---------------------------------------------------------------- # library(SDMtune) # library(zeallot) # # # Prepare data # files <- list.files(path = file.path(system.file(package = "dismo"), "ex"), # pattern = "grd", # full.names = TRUE) # predictors <- terra::rast(files) # data <- prepareSWD(species = "Virtual species", # p = virtualSp$presence, # a = virtualSp$background, # env = predictors, # categorical = "biome") # # c(train, test) %<-% trainValTest(data, # test = 0.2, # only_presence = TRUE, # seed = 25) # # # Train model # model <- train("Maxent", # data = train) # # # Train cross validation model # folds <- randomFolds(data, # k = 4, # only_presence = TRUE, # seed = 25) # # cv_model <- train("Maxent", # data = data, # folds = folds) ## ----maxent-results----------------------------------------------------------- # model@model@results ## ----maxent-var-importance---------------------------------------------------- # vi <- maxentVarImp(model) # vi ## ----maxent-percent-contribution-plot----------------------------------------- # plotVarImp(vi[, 1:2]) ## ----maxent-permutation-importance-plot--------------------------------------- # plotVarImp(vi[, c(1,3)]) ## ----maxnet-model------------------------------------------------------------- # maxnet_model <- train("Maxnet", # data = train) ## ----variable-importance------------------------------------------------------ # vi_maxnet <- varImp(maxnet_model, # permut = 5) # # vi_maxnet ## ----plot-var-imp------------------------------------------------------------- # plotVarImp(vi_maxnet) ## ----permut-exercise---------------------------------------------------------- # # Compute the permutation importance # vi_maxent <- varImp(model, # permut = 10) # # # Print it # vi_maxent # # # Compare with Maxent output # maxentVarImp(model) ## ----jk----------------------------------------------------------------------- # jk <- doJk(maxnet_model, # metric = "auc", # test = test) # # jk ## ----plot-jk-train------------------------------------------------------------ # plotJk(jk, # type = "train", # ref = auc(maxnet_model)) ## ----plot-jk-test------------------------------------------------------------- # plotJk(jk, # type = "test", # ref = auc(maxnet_model, test = test)) ## ----plot-bio1---------------------------------------------------------------- # plotResponse(maxnet_model, # var = "bio1", # type = "cloglog", # only_presence = TRUE, # marginal = FALSE, # rug = TRUE) ## ----plot-biome--------------------------------------------------------------- # plotResponse(maxnet_model, # var = "biome", # type = "logistic", # only_presence = TRUE, # marginal = TRUE, # fun = mean, # color = "blue") ## ----plot-cv-response--------------------------------------------------------- # plotResponse(cv_model, # var = "bio1", # type = "cloglog", # only_presence = TRUE, # marginal = TRUE, # fun = mean, # rug = TRUE) ## ----report------------------------------------------------------------------- # modelReport(maxnet_model, # type = "cloglog", # folder = "virtual-sp", # test = test, # response_curves = TRUE, # only_presence = TRUE, # jk = TRUE, # env = predictors) ## ----backgrounds-------------------------------------------------------------- # set.seed(25) # bg <- terra::spatSample(predictors, # size = 10000, # method = "random", # na.rm = TRUE, # xy = TRUE, # values = FALSE) # # bg <- prepareSWD(species = "Bgs", # a = bg, # env = predictors, # categorical = "biome") ## ----heat-map----------------------------------------------------------------- # plotCor(bg, # method = "spearman", # cor_th = 0.7) ## ----cor-var------------------------------------------------------------------ # corVar(bg, # method = "spearman", # cor_th = 0.7) ## ----varSel------------------------------------------------------------------- # selected_variables_model <- varSel(maxnet_model, # metric = "auc", # test = test, # bg4cor = bg, # method = "spearman", # cor_th = 0.7, # permut = 1) ## ----output-varSel------------------------------------------------------------ # selected_variables_model ## ----exercise-1--------------------------------------------------------------- # selected_variables_model <- varSel(model, # metric = "aicc", # bg4cor = bg, # method = "spearman", # cor_th = 0.7, # env = predictors, # use_pc = TRUE) ## ----permutation-------------------------------------------------------------- # varImp(model, # permut = 1) ## ----reduce-var-1------------------------------------------------------------- # cat("Testing AUC before: ", auc(maxnet_model, test = test)) # # reduced_variables_model <- reduceVar(maxnet_model, # th = 6, # metric = "auc", # test = test, # permut = 1) # # cat("Testing AUC after: ", auc(reduced_variables_model, test = test)) ## ----reduce-var-2------------------------------------------------------------- # cat("Testing AUC before: ", auc(maxnet_model, test = test)) # # reduced_variables_model <- reduceVar(maxnet_model, # th = 15, metric = "auc", # test = test, # permut = 1, # use_jk = TRUE) # # cat("Testing AUC after: ", auc(reduced_variables_model, test = test))