【发布时间】:2021-02-23 14:05:04
【问题描述】:
我已经运行了插入符号预测模型
fit <- train(outcome~ ., data = training,
method = 'glmnet',
metric = "ROC",
tuneLength = 5,
trControl = fitControl)
fit
现在我想将该模型应用于样本外(外部)验证集 - 但是我无权访问这些数据,我将最终模型发送给合作者,让他们应用到他们的数据中
我最初通过以下方式保存了最终模型:
combined_coef<-as.matrix(exp(coef(fit$finalModel, fit$bestTune$lambda)))
因此它可以被读入并将其应用于新数据
fitValidation <- predict(fit, newdata = validation, type = "prob")
它不适用于数据框或矩阵,当作为列表读入时,错误消息是:
"Error in UseMethod("predict") :
no applicable method for 'predict' applied to an object of class "c('tbl_df', 'tbl', 'data.frame')"
那么它必须是整个模型拟合对象吗? 有没有比保存并发送整个(大量)适合对象更简单的方法? 有没有办法只保存“最终模型”(如上),然后在“预测”调用中应用它?
谢谢
【问题讨论】:
-
真的有那么大吗?现在,您的接收器必须重新创建模型对象,就像它在您的末端一样,才能像那样使用
predict- 或者 - 确切地知道如何自己处理这个模型的系数。发送整个模型绝对是最简单的选择。
标签: r validation external r-caret glmnet