predict,SDMmodelCV-method {SDMtune} | R Documentation |
Predict for Cross Validation
Description
Predict the output for a new dataset given a trained SDMmodelCV model. The output is given as the provided function applied to the prediction of the k models.
Usage
## S4 method for signature 'SDMmodelCV'
predict(
object,
data,
fun = "mean",
type = NULL,
clamp = TRUE,
filename = "",
overwrite = FALSE,
wopt = list(),
extent = NULL,
progress = TRUE,
...
)
Arguments
object |
SDMmodelCV object. |
data |
data.frame, SWD or raster rast with the data for the prediction. |
fun |
character. Function used to combine the output of the k models.
Note that fun is a character argument, you must use |
type |
character. Output type, see details, used only for Maxent and Maxnet methods. |
clamp |
logical for clumping during prediction, used only for Maxent and Maxnet methods. |
filename |
character. If provided the raster map is saved in a file. It must include the extension. |
overwrite |
logical. If |
wopt |
list. Writing options passed to writeRaster. |
extent |
ext object, if provided it restricts the prediction to the given extent. |
progress |
logical. If |
... |
Additional arguments to pass to the predict function. |
Details
filename, and extent are arguments used only when the prediction is run for a rast object.
When a character vector is passed to the
fun
argument, than all the given functions are applied and a named list is returned, see examples.When
filename
is provided and thefun
argument contains more than one function name, the saved files are named asfilename_fun
, see example.For models trained with the Maxent method the argument
type
can be: "raw", "logistic" and "cloglog". The function performs the prediction in R without calling the MaxEnt Java software. This results in a faster computation for large datasets and might result in a slightly different output compared to the Java software.For models trained with the Maxnet method the argument
type
can be: "link", "exponential", "logistic" and "cloglog", see maxnet for more details.For models trained with the ANN method the function uses the "raw" output type.
For models trained with the RF method the output is the probability of class 1.
For models trained with the BRT method the function uses the number of trees defined to train the model and the "response" output type.
Value
A vector with the prediction or a rast object if data is a rast or a list in the case of multiple functions.
Author(s)
Sergio Vignali
References
Wilson P.D., (2009). Guidelines for computing MaxEnt model output values from a lambdas file.
Examples
# Acquire environmental variables
files <- list.files(path = file.path(system.file(package = "dismo"), "ex"),
pattern = "grd",
full.names = TRUE)
predictors <- terra::rast(files)
# Prepare presence and background locations
p_coords <- virtualSp$presence
bg_coords <- virtualSp$background
# Create SWD object
data <- prepareSWD(species = "Virtual species",
p = p_coords,
a = bg_coords,
env = predictors,
categorical = "biome")
# Create 4 random folds splitting only the presence data
folds <- randomFolds(data,
k = 4,
only_presence = TRUE)
model <- train(method = "Maxnet",
data = data,
fc = "l",
folds = folds)
# Make cloglog prediction for the whole study area and get the result as
# average of the k models
predict(model,
data = predictors,
fun = "mean",
type = "cloglog")
# Make cloglog prediction for the whole study area, get the average, standard
# deviation, and maximum values of the k models, and save the output in three
# files.
# The following commands save the output in the working directory. Note that
# the `filename` must include the extension
## Not run:
maps <- predict(model,
data = predictors,
fun = c("mean", "sd", "max"),
type = "cloglog",
filename = "prediction.tif")
# In this case three files are created: prediction_mean.tif,
# prediction_sd.tif and prediction_max.tif
plotPred(maps$mean)
plotPred(maps$sd)
plotPred(maps$max)
# Make logistic prediction for the whole study area, given as standard
# deviation of the k models, and save it in a file
predict(model,
data = predictors,
fun = "sd",
type = "logistic",
filename = "my_map.tif")
## End(Not run)