所以我试图将flashlight
包与虹膜数据一起使用。提供的功能之一flashlight
是计算称为 的变量之间的相互作用light_interaction
。light_interaction
如果我使用lm
模型,我可以开始工作,但如果我使用[mlr3
旁注:如果我使用创建回归模型mlr3
,它与手电筒交互功能完美配合......我只是可以'不能让它用于分类......我需要手电筒来使用 mlr3 来处理我的包裹]。在下面的代码中,我展示了一个使用lm
模型的示例......以及一个不使用的示例mlr3
......我做错了什么吗?
lm
有效的模型示例:
library(flashlight)
fit <- lm(Sepal.Length ~ ., data = iris)
x <- flashlight(model = fit, label = " ", data = iris, y = "Species")
light_interaction(x, pairwise = TRUE, type = "H", grid_size = 5,
normalize = F)
mlr3
不起作用的模型:
library(mlr3)
library(mlr3learners)
# mlr3 TASK
bc_T = TaskClassif$new(id = "dat", backend = iris, target = "Species")
# learner
lrn = lrn("classif.ranger")
# model
bc_M <- lrn$train(bc_T)
x <- flashlight(model = bc_M, label = " ", data = iris, y = "Species")
light_interaction(x, pairwise = TRUE) # this line creates an error
这会抛出一个错误说:
rowsum.default(xx * ww, gg) 中的错误:“x”必须是数字另外:警告消息:在 Ops.factor(xx,ww) 中:“*”对因子没有意义