R包mlr的(二进制)因子变量应该有哪些类?

Which classes should (binary) factor variables for R package mlr have?

我想准备一个数据集,以便在 mlr 包的 Task 中使用它。二元因子自变量应该是 class 因子、逻辑、字符还是整数?具有超过 2 个 classes 的因子变量是否可以作为 factor/character 或者是否有模型集成在 mlr 中需要例如mlr 不会自动进行转换的模型矩阵?对于这些情况,mlr 期望哪些 classes?

例如:

x1 <- factor(sample(0:1, size=10, replace = TRUE))
x2 <- factor(sample(letters[1:5], size=10, replace = TRUE))
y <- sample(c("yes", "no"), size=10, replace = TRUE)
library(mlr)
makeClassifTask(data = data.frame(y, x1, x2), target = "y", positive="yes")

是的。如果它是一个因素,它应该是一个因素。你当然可以有两个以上的 类,尽管不是所有的学习器都支持两个以上的 类(mlr 会自动确定一个学习器是否兼容)。 mlr 总是自动将任务中的所有内容转换为适合学习者的内容,或者告诉您学习者和任务不兼容。

您还可以使用函数 listLearners() 列出适合给定任务的学习者。