我开发了一个Shiny应用程序,用户可以选择保存机器学习模型(以后可以使用它们)。这些模型将保存在默认的闪亮目录中。
问题在于,由于要保存的模型文件的名称不是唯一的,因此当多个用户使用该应用程序时,该文件可能会被覆盖。
我希望使用唯一的名称保存文件,并且用户希望能够将特定文件重新加载
下面是我正在使用的代码
# Save model to be used later
.jcache(m1$classifier)
observeEvent(input$save, {
#delete previous model if it exists in folder
fn <- "m1"
if (file.exists(fn)) file.remove(fn)
save(m1, file = "D:\\Dropbox\\Users\\Myname\\m1")
})
#Load model saved earlier
load(file="m1")
答案 0 :(得分:1)
有一个名为uuid的软件包可以为您提供帮助:
install.packages("uuid")
# This function will create a unique string for you that you can use as your filename
fn <- uuid::UUIDgenerate()
因此,我建议您每次要保存模型时都生成一个新文件名,并将其存储在一个变量中,以便在您重新加载模型时可以引用该变量。
load(file=fn)