mlr-在预处理步骤之间或之后访问数据

mlr-在预处理步骤之间或之后访问数据,r,mlr,R,Mlr,在mlr中使用包装器执行预处理步骤后,是否有方法访问数据?下面是代码的精简版本: library(mlr) library(mlbench) data <- BreastCancer[, 2:11] lrn <- makeLearner(cl = "classif.ranger", predict.type = "prob", fix.factors.prediction = TRUE,

在mlr中使用包装器执行预处理步骤后,是否有方法访问数据?下面是代码的精简版本:

library(mlr)
library(mlbench)

data <- BreastCancer[, 2:11]
lrn <- makeLearner(cl = "classif.ranger",
                        predict.type = "prob",
                        fix.factors.prediction = TRUE,
                        importance = "permutation")

lrn <- makeImputeWrapper(lrn, classes = list(integer = imputeMedian(),
                                                  numeric = imputeHist(),
                                                  factor = imputeMode()))

lrn <- makeRemoveConstantFeaturesWrapper(lrn, na.ignore = TRUE)

classif.task <- makeClassifTask(data = rawdata, target = "Target", positive = "1")

model <- train(lrn, classif.task)
库(mlr)
图书馆(mlbench)

data目前还没有实现这一点——包装的要点是封装所有内容,这样您就不必担心中间步骤


但是,您可以使用
impute()
函数分别进行相同的插补(同样,也可以删除常量特征)。有关更多信息,请参阅。

感谢您的快速回复。我之所以使用包装器,例如上面没有提到的定制包装器,是为了在一个函数中整合培训和评分代码,同时在两者之间传递参数(以及在必要时执行超参数调优)。但是,在“真实”工作流中测试/调试代码通常与使用单元测试一样有用。在某些情况下,第三个包,例如我的例子中的XGBoostExplaner(),需要预处理的训练数据。如果您编写了定制的预处理包装器(),您可以简单地将内容存储在全局环境中(