This task specializes Task and TaskSupervised for classification problems.
The target column is assumed to be a 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.
Predefined tasks are stored in the dictionary mlr_tasks. More example tasks can be found in this dictionary after loading mlr3data.
mlr3::Task
-> mlr3::TaskSupervised
-> TaskClassif
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.
new()
Creates a new instance of this R6 class.
TaskClassif$new(id, backend, target, positive = NULL, extra_args = list())
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.
extra_args
(named list()
)
Named list of constructor arguments, required for converting task types
via convert_task()
.
data()
Calls $data
from parent class Task and ensures that levels of the target column
are in the right order.
TaskClassif$data( rows = NULL, cols = NULL, data_format = "data.table", ordered = TRUE )
rows
integer()
Row indices.
cols
character()
Column names.
data_format
(character(1)
)
Desired data format, e.g. "data.table"
or "Matrix"
.
ordered
(logical(1)
)
If TRUE
(default), data is ordered according to the columns with column role "order"
.
Depending on the DataBackend, but usually a data.table::data.table()
.
truth()
True response for specified row_ids
. Format depends on the task type.
Defaults to all rows with role "use"
.
TaskClassif$truth(rows = NULL)
rows
integer()
Row indices.
factor()
.
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"
.
TaskClassif$droplevels(cols = NULL)
cols
character()
Column names.
Modified self
.
clone()
The objects of this class are cloneable with this method.
TaskClassif$clone(deep = FALSE)
deep
Whether to make a deep clone.
Other Task:
TaskRegr
,
TaskSupervised
,
TaskUnsupervised
,
Task
,
mlr_tasks_boston_housing
,
mlr_tasks_breast_cancer
,
mlr_tasks_german_credit
,
mlr_tasks_iris
,
mlr_tasks_mtcars
,
mlr_tasks_pima
,
mlr_tasks_sonar
,
mlr_tasks_spam
,
mlr_tasks_wine
,
mlr_tasks_zoo
,
mlr_tasks
# NOT RUN {
data("Sonar", package = "mlbench")
task = TaskClassif$new("sonar", backend = Sonar, target = "Class", positive = "M")
task$task_type
task$formula()
task$truth()
task$class_names
task$positive
# possible properties:
mlr_reflections$task_properties$classif
# }
Run the code above in your browser using DataLab