Fixes factors of type factor, ordered: Makes sure the factor levels during prediction are the same as during training; possibly dropping empty training factor levels before.

Note this may introduce missing values during prediction if unseen factor levels are found.

Format

R6Class object inheriting from PipeOpTaskPreprocSimple/PipeOpTaskPreproc/PipeOp.

Construction

PipeOpFixFactors$new(id = "fixfactors", param_vals = list())
  • id :: character(1)
    Identifier of resulting object, default "fixfactors".

  • param_vals :: named list
    List of hyperparameter settings, overwriting the hyperparameter settings that would otherwise be set during construction. Default list().

Input and Output Channels

Input and output channels are inherited from PipeOpTaskPreproc.

The output is the input Task with all affected factor and ordered feature levels fixed.

State

The $state is a named list with the $state elements inherited from PipeOpTaskPreproc, as well as:

  • levels :: named list of character
    List of factor levels of each affected factor or ordered feature that will be fixed.

Parameters

The parameters are the parameters inherited from PipeOpTaskPreproc, as well as:

  • droplevels :: logical(1)
    Whether to drop empty factor levels of the training task. Default TRUE

Internals

Changes factor levels of columns and attaches them with a new data.table backend and the virtual cbind() backend.

Methods

Only methods inherited from PipeOpTaskPreprocSimple/PipeOpTaskPreproc/PipeOp.

See also

Examples

library("mlr3")