r - 如何从 R 中的 mlr 包创建的模型中删除变量?
问题描述
这有点类似于我在这里提出的问题。但是,这个问题是零答案,我认为这个问题在获得回应方面可能更有成效。
我想要做的是从mlr
创建的模型中删除一些特征,而不必再次拟合模型。例如,如果我们Boston
从MASS
库中获取数据并创建一个mlr
模型,如下所示:
library(mlr)
library(MASS)
# Using the mlr package to train the data:
bTask <- makeRegrTask(data = Boston, target = "medv")
bLearn <- makeLearner("regr.randomForest")
bMod <- train(bLearn, bTask)
然后我使用task
和训练model
了一些功能,例如:
someFunc <- function(task, model){
pred <- predict(model, task)
pred <- pred$data$response
head(pred,10)
}
someFunc(bTask,bMod)
一切正常。但我想知道是否可以从 中删除一些变量bMod
,而不必mlr
再次拟合经过训练的模型?
我知道可以从task
using中删除功能dropFeatures()
,例如:
bTask1 <- dropFeatures(bTask, c("zn", "chas", "rad"))
但是,如果我尝试混合bTask1
并bMod
喜欢这样:
pred1 <- predict(bMod, btask1)
我得到了明智的错误:
predict.randomForest(.model$learner.model, newdata = .newdata, 中的错误:训练数据中的变量在 newdata 中丢失
有没有办法从mlr
创建的模型(即bMod
)中删除一些特征而不再次拟合它?
解决方案
推荐阅读
- xcode - 来自 Macports 的 GIMP 2.10.22 中的错误路径导致插件文件-gif.ui、脚本-fu.init 在执行期间无法找到
- javascript - 是否可以在 Express 应用程序中使用一个 npm 脚本启动 nodemon 和浏览器同步?
- c++ - 用于值检查的自定义迭代器
- android - 如何从片段中获取数据并将其传输到另一个片段?
- r - 使用 ggplot2 转换图表中线条上的颜色
- javascript - Antdesign:当您单击 React 中的模态按钮时调用一个函数
- python - 找到数字根?下面的问题正确吗?我认为它在样本输出中有一些错误
- sql - 在星期几执行
- arrays - slice1 = arr2d[0:1,0:2] 有什么作用?
- django - 如何在 Django 中调用 URL 并在 Django 屏幕中获得响应