This function allows to directly predict mlr3 learners on various spatial objects.
Arguments
- newdata
(terra::SpatRaster |
stars::stars
| sf::sf |raster::RasterStack
|raster::RasterBrick
). New data to predict on. All spatial data formats convertible byas_data_backend()
are supported e.g. terra::SpatRaster or sf::sf.- learner
(Learner). Learner with trained model.
- chunksize
(
integer(1)
)
The chunksize determines in how many subparts the prediction task will be split into. The value can be roughly thought of as megabyte of a raster file on disk. For example, if a prediction on a 1 GB file would be carried out withchunksize = 100L
, the prediction would happen in 10 chunks.The default of
chunksize = 1000L
might be a good compromise between speed and memory usage. If you find yourself running out of memory, reduce this value.- format
(
character(1)
)
Output class of the resulting object. Accepted values are"raster"
,"stars"
and"terra"
if the input is a raster. Note that when choosing something else than"terra"
, the spatial object is converted into the respective format which might cause overhead both in runtime and memory allocation. For vector data only"sf"
is supported.- filename
(
character(1)
)
Path where the spatial object should be written to.
Examples
library(terra, exclude = "resample")
#> terra 1.7.71
# fit rpart on training points
task_train = tsk("leipzig")
learner = lrn("classif.rpart")
learner$train(task_train)
# load raster
stack = rast(system.file("extdata", "leipzig_raster.tif", package = "mlr3spatial"))
# predict land cover classes
pred = predict_spatial(stack, learner, chunksize = 1L)