Skip to contents

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

Additional task properties include:

  • "twoclass": The task is a binary classification problem.

  • "multiclass": The task is a multiclass classification problem.

It is recommended to use as_task_classif() for construction. Predefined tasks are stored in the dictionary mlr_tasks.

See also

Other Task: Task, TaskRegr, TaskSupervised, TaskUnsupervised, mlr_tasks, mlr_tasks_boston_housing, mlr_tasks_breast_cancer, mlr_tasks_german_credit, mlr_tasks_iris, mlr_tasks_mtcars, mlr_tasks_penguins, mlr_tasks_pima, mlr_tasks_sonar, mlr_tasks_spam, mlr_tasks_wine, mlr_tasks_zoo

Super classes

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

Active bindings

class_names

(character())
Returns all class labels of the target column.

positive

(character(1))
Stores the positive class for binary classification tasks, and NA for multiclass tasks. To switch the positive class, assign a level to this field.

negative

(character(1))
Stores the negative class for binary classification tasks, and NA for multiclass tasks.

Methods

Inherited methods


Method new()

Creates a new instance of this R6 class. The function as_task_classif() provides an alternative way to construct classification tasks.

Usage

TaskClassif$new(
  id,
  backend,
  target,
  positive = NULL,
  label = NA_character_,
  extra_args = list()
)

Arguments

id

(character(1))
Identifier for the new instance.

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.

label

(character(1))
Label for the new instance.

extra_args

(named list())
Named list of constructor arguments, required for converting task types via convert_task().


Method truth()

True response for specified row_ids. Format depends on the task type. Defaults to all rows with role "use".

Usage

TaskClassif$truth(rows = NULL)

Arguments

rows

(positive integer())
Vector or row indices. Always refers to the complete data set, even after filtering.

Returns

factor().


Method droplevels()

Updates the cache of stored factor levels, removing all levels not present in the current set of active rows. cols defaults to all columns with storage type "factor" or "ordered". Also updates the task property "twoclass"/"multiclass".

Usage

TaskClassif$droplevels(cols = NULL)

Arguments

cols

(character())
Vector of column names.

Returns

Modified self.


Method clone()

The objects of this class are cloneable with this method.

Usage

TaskClassif$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

data("Sonar", package = "mlbench")
task = as_task_classif(Sonar, target = "Class", positive = "M")

task$task_type
#> [1] "classif"
task$formula()
#> Class ~ .
#> NULL
task$truth()
#>   [1] R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R
#>  [38] R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R
#>  [75] R R R R R R R R R R R R R R R R R R R R R R R M M M M M M M M M M M M M M
#> [112] M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M
#> [149] M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M
#> [186] M M M M M M M M M M M M M M M M M M M M M M M
#> Levels: M R
task$class_names
#> [1] "M" "R"
task$positive
#> [1] "M"
task$data(rows = 1:3, cols = task$feature_names[1:2])
#>        V1    V10
#>     <num>  <num>
#> 1: 0.0200 0.2111
#> 2: 0.0453 0.2872
#> 3: 0.0262 0.6194