mlr3spatiotempcv (version 1.0.0)

TaskClassifST: Crate a Spatiotemporal Classification Task

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.

Arguments

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

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

Run this code
# NOT RUN {
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"))
  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
}
# }

Run the code above in your browser using DataCamp Workspace