TaskClassifST: SpatioTemporal Classification Task

Description Super classes Public fields Methods See Also Examples

Description

This task specializes Task and TaskSupervised for spatiotemporal classification problems. The target column is assumed to be a factor. The task_type is set to "classif" and "spatiotemporal".

A spatial example task is available via tsk("ecuador"), a spatiotemporal one via tsk("cookfarm").

The coordinate reference system passed during initialization must match the one which was used during data creation, otherwise offsets of multiple meters may occur. By default, coordinates are not used as features. This can be changed by setting extra_args$coords_as_features = TRUE.

Super classes

mlr3::Task -> mlr3::TaskSupervised -> mlr3::TaskClassif -> TaskClassifST

Public fields

extra_args

(named list())
Additional task arguments set during construction. Required for convert_task().

Methods

Public methods

Inherited methods

Method new()

Create a new spatiotemporal resampling Task

Usage
TaskClassifST$new(
  id,
  backend,
  target,
  positive = NULL,
  extra_args = list(coords_as_features = FALSE, crs = NA, coordinate_names = NA)
)
Arguments
id

[character(1)]
Identifier for the task.

backend

DataBackend
Either a DataBackend, or any object which is convertible to a DataBackend with as_data_backend(). E.g., a data.frame() will be converted to a DataBackendDataTable.

target

[character(1)]
Name of the target column.

positive

[character(1)]
Only for binary classification: Name of the positive class. The levels of the target columns are reordered accordingly, so that the first element of $class_names is the positive class, and the second element is the negative class.

extra_args

[named list]
Additional task arguments set during construction. Required for convert_task().

  • crs [character(1)]
    Coordinate reference system. Either a PROJ string or an EPSG code.

  • coords_as_features [logical(1)]
    Whether the coordinates should also be used as features.

  • coordinate_names [character(2)]
    The variables names of the coordinates in the data.


Method coordinates()

Return the coordinates of the task

Usage
TaskClassifST$coordinates(rows = NULL)
Arguments
rows

Row IDs. Can be used to subset the returned coordinates.


Method print()

Print the task.

Usage
TaskClassifST$print(...)
Arguments
...

Arguments passed to the $print() method of the superclass.


Method clone()

The objects of this class are cloneable with this method.

Usage
TaskClassifST$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

See Also

Other Task: TaskRegrST, mlr_tasks_cookfarm, mlr_tasks_diplodia, mlr_tasks_ecuador

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
if (mlr3misc::require_namespaces(c("sf", "blockCV"), quietly = TRUE)) {

  data = mlr3::as_data_backend(ecuador)
  task = TaskClassifST$new("ecuador",
    backend = data, target = "slides",
    positive = "TRUE", extra_args = list(coordinate_names = c("x", "y"))
  )

  # passing objects of class 'sf' is also supported
  data_sf = sf::st_as_sf(ecuador, coords = c("x", "y"), crs = 4326)
  task = TaskClassifST$new("ecuador_sf",
    backend = data_sf, target = "slides", positive = "TRUE"
  )

  task$task_type
  task$formula()
  task$class_names
  task$positive
  task$negative
  task$coordinates()
  task$coordinate_names
}

mlr-org/mlr3spatiotempcv documentation built on May 4, 2021, 9:44 a.m.