保存预测模型而不保存原始数据集

Posted

技术标签:

【中文标题】保存预测模型而不保存原始数据集【英文标题】:Saving prediction model without saving the original dataset 【发布时间】:2020-03-30 13:52:04 【问题描述】:

我想保存我的模型以供外部复制。 我使用下面的代码来训练模型并保存它。

F10y<-  glm(F10 ~    age + sex + bmi, data=discovery1, family=binomial(link="logit"))
summary(F10y)
save(F10y, file = "F10y1.rda")

当我加载模型时,我还可以看到构建数据的原始数据集(本示例中的 Discovery1)。出于隐私考虑,我想保存模型,但无法看到这个原始数据集。

这可能吗? 谢谢大家!

【问题讨论】:

【参考方案1】:

首先,将数据的行名设置为仅显示在结果模型上的索引。然后在创建模型后,将$data$model 元素设置为null。

my_mtcars <- mtcars
rownames(my_mtcars) <- seq(1,nrow(my_mtcars))
model <- glm(mpg ~ hp + wt, data = my_mtcars)
model$data <- NULL
model$model <- NULL
predict(model,data=mtcars)

【讨论】:

谢谢@Ian Campbell,还有没有办法让这也无处可见?即根本没有数据集信息。

以上是关于保存预测模型而不保存原始数据集的主要内容,如果未能解决你的问题,请参考以下文章

DL之GRU(Tensorflow框架):基于茅台股票数据集利用GRU算法实现回归预测(保存模型.ckpt.index.ckpt.data文件)

保存的随机森林模型在同一数据集上产生不同的结果

在 for 循环中使用不同的名称保存模型预测

如何在 Spark2 中实际应用保存的 RF 模型并进行预测?

tensorflow 保存好训练的模型,restore 后验证集的正确率很低

(sklearn)机器学习模型的保存与加载