trainRf | R Documentation |
This function trains a random forest model. It first finds the optimal value for mtry
(number of variables sampled as candidates at each split). It then calls the function randomForest
from the randomForest package.
trainRf( data, resp = names(data)[1], preds = names(data)[2:ncol(data)], family = "binomial", w = TRUE, verbose = FALSE, ... )
data |
Data frame. |
resp |
Character or integer. Name or column index of response variable. Default is to use the first column in |
preds |
Character list or integer list. Names of columns or column indices of predictors. Default is to use the second and subsequent columns in |
family |
Character. If " |
w |
Either logical in which case |
verbose |
Logical. If |
... |
Arguments to pass to |
Object of class randomForest
.
randomForest
, trainCrf
## Not run: ### model red-bellied lemurs data(mad0) data(lemurs) # climate data bios <- c(1, 5, 12, 15) clim <- raster::getData('worldclim', var='bio', res=10) clim <- raster::subset(clim, bios) clim <- raster::crop(clim, mad0) # occurrence data occs <- lemurs[lemurs$species == 'Eulemur rubriventer', ] occsEnv <- raster::extract(clim, occs[ , c('longitude', 'latitude')]) # background sites bg <- 2000 # too few cells to locate 10000 background points bgSites <- dismo::randomPoints(clim, 2000) bgEnv <- raster::extract(clim, bgSites) # collate presBg <- rep(c(1, 0), c(nrow(occs), nrow(bgSites))) env <- rbind(occsEnv, bgEnv) env <- cbind(presBg, env) env <- as.data.frame(env) preds <- paste0('bio', bios) set.seed(123) # random forest rf <- trainRf( data = env, resp = 'presBg', preds = preds, ) # conditional random forest crf <- trainCrf( data = env, resp = 'presBg', preds = preds, ) plot(rf) # prediction rasters mapRf1 <- predict(clim, rf, type='prob') # opposite class! mapRf2 <- 1 - predict(clim, rf, type='prob') # correct pointsFx <- function() points(occs[ , c('longitude', 'latitude')]) plot(stack(mapRf1, mapRf2), addfun=pointsFx) # CRFs are tricky... ## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.