r - R:用carrier::crate包装部分环境以预测新数据
问题描述
我想部署一个使用 mlr 创建的机器学习模型。因此,我尝试包装学习模型的预测器应用 carrier::crate() 函数:
predictor <- carrier::crate(
function(data){
predict(object = model,
newdata = data)},
model = model)
一般来说,这似乎有效,但是当我在没有安装 mlr 的目标环境上执行代码时,我收到以下错误:
Error in UseMethod("predict"): no applicable method for 'predict' applied to an object of class "WrappedModel"
经过一番调查,我发现在使用 mlr 的学习环境中,predict() 类是
class(predict)
# [1] "nonstandardGenericFunction"
# attr(,"package")
# [1] "methods"
而在没有 mlr 的预测环境中,它是
class(predictor)
# [1] "function"
所以 mlr 似乎以我还不理解的方式改变了预测功能。
有没有办法将“mlradjusted”预测功能从当前环境带到另一个环境?最后,这样的事情(不起作用)会帮助我
predictor <- carrier::crate(
function(data){
my_predict(data) -> p
return(p)},
model = model,
my_predict(data) = predict(object = model, newdata = data))
解决方案
推荐阅读
- django - GUnicorn 和 Django 用于资源有限的 500 个并发请求
- typescript - TypeScript Compiler API:如何获取父类名称?
- uml - 领域模型和类图
- python - 制作可重用应用程序后如何删除包
- security - Android 应用逆向:暴露 API 密钥的安全风险
- go - 如何在 CGO tcp 服务器上进行基准测试?
- angular - TypeScript 中的类型不存在属性
- android - 如何从我的应用程序中免费将用户数据存储在云中?
- perl - 散列上的“语句修饰符”迭代?
- python - 如何在 R Markdown 中跨块定义和使用 python 函数?