我正在使用 R 3.6.1、RStudio 1.2.5019 和 mlr 2.15.0。 MLR 已安装并加载。仅加载 mlr 和构建 mlr 的包。
现在,我已经使用 train
训练了一个模型,并想在新数据上测试它。
因此,我想使用 mlr 中的 predict.WrappedModel
函数。
如果我打电话
?predict.WrappedModel
我在帮助窗口中获取了所有信息。
但是,如果我想运行 predict.WrappedModel
R 会抛出一个错误,指示找不到该函数:
my_test = Predict.WrappedModel(object = my_model, task = my_task)
konnte Funktion "predict.WrappedModel" nicht finden
即使指定 mlr 作为要查找函数的包:
my_test = mlr::predict.WrappedModel(object = my_model, task = my_task)
Fehler: 'predict.WrappedModel' ist kein von 'namespace:mlr' exportiertes Objekt
我也尝试过使用 ?predict
,但这里我也遇到了错误:
my_test = mlr::predict(object = my_model, task = my_task)
Fehler: 'predict' ist kein von 'namespace:mlr' exportiertes Objekt
我已经花了很多时间尝试解决这个问题,并阅读了我在此处和 github 上的 mlr 论坛上找到的所有相关问题,但找不到解决方案。
我在这里缺少什么?
提前非常感谢:)
最佳答案
您既不需要 predict.WrappedModel
也不需要 mlr::predict
。两者都是内部函数,使用 R 中的通用 S3 方法根据提供的 R 对象的类进行操作。
因此,在这种情况下,只要传递从 mlr::train()
调用派生的对象,一切都会正常工作。
用代码说话:
library("mlr")
my_model = train(learner, task)
predict(my_model, task)
关于MLR:未找到函数 "predict.WrappedModel",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58714293/