Closed bblodfon closed 3 months ago
The semantics of a character
feature (at least as far as mlr3pipelines
sees it) are that it contains "free text", as opposed to levels of a fixed set of possible values (like factors). One would typically apply "nlp" methods on character
features, e.g. using po("textvectorizer")
to extract a bag of words representation.
If you really want to do factor encoding on character
features, then your case is comparable to wanting to do factor encoding on numeric
features: what you really want is for mlr3
to see the semantics of your feature in a non-standard way. The solution for this is to convert your feature, using po("colapply", applicator = as.factor)
. Does your usecase work with that?
Martin the issue here is that many datasets that we use in R
, have factor
s as character
s (in terms of their type). So when users try to do (factor) encoding, they expect to get the feature called sex
("male" and "female") encoded but they don't. The colapply
is a workaround for sure (+affect_columns
needs to be configured properly, extra thing) but if docs says the PipeOp
does work on character
features but it actually doesn't work, well one of the two needs to be changed/updated :)
The doc says that is should encode
character()
columns, but:Created on 2023-12-11 with reprex v2.0.2