私は、線形モデルにフィットし、それらについての情報を表示して保存することができる光沢のあるアプリケーションを作成しようとしています。Shinyアプリケーションで保存される線形モデルのサイズを小さくするにはどうすればよいですか?
私は問題に直面しています。私がモデルを保存すると、それは大きな場所をとります。ここでは単純化されたコードです:実際には
library(shiny)
library(ggplot2)
ui <- shinyUI(fluidPage(
titlePanel("Save linear Model"),
sidebarLayout(
sidebarPanel(
actionButton("save","SAVE !")
),
mainPanel(
textOutput("saved")
)
)
))
server <- shinyServer(function(input, output) {
load("donnees/new/V283/V283_complete.RData")
observeEvent(input$save,{
lm.fit<-lm(price~.,data=diamonds)
save(lm.fit, file="question-x-validated/my-model.RData")
output$saved<-renderText("Saved")
})
})
shinyApp(ui = ui, server = server)
、私は私のアプリで/ロードを作成する複数のオブジェクトは、大きな私の保存されたモデルです。例えば、私がロードするオブジェクト:
load("donnees/new/V283/V283_complete.RData")
は275.1MBです。ロード後にlm.fitを保存すると、私のrdataファイルは36.9Mbになります。私がlm.fitをロードせずに保存すると、私のファイルは13Mbになります。 は、私は(私の光沢のあるアプリを使用せずに)Rから直接私のlm.fitを保存する場合、ファイルが 6,57Mb this linkで示唆したように
あり、それは環境問題になる可能性があります。しかし私には光り輝いているという事実は、上記のリンクで提案されている技術のどれもが私の場合には役に立たなかったので、いくつかの困難を追加しているようです。
また、saveRDS関数を使用して試しました。そして、も交換:
lm.fit<-lm(price~.,data=diamonds)
を
assign("lm.fit",lm(price~.,data=diamonds),envir=globalenv())
では、ファイルのサイズを変更しますが、それは6.57Mbのように少しなることはありません。
私の実際のコードと同じように、私は本当に大きなデータセットをインポートします。私の実際のモデルは本当に巨大になり(500Mb以上)、これらのモデルを読み込んだ/保存すると、
本当にありがとうございます。
EDIT:
私がやるかのように私の問題は、私のモデルの「用語」の要素から来ているようだ:
lm.fit<-lm.fit[1:11]
前に私のモデルを保存するには、私のファイルは5.92Mbです!しかし、あなたが知っているように、 "terms"要素はpredict()を使うために必要です。そして、実行している:
attr(lm.fit$terms,".Environment") = c()
は機能しません。
また、面白いこと:lm.fit<-lm.fit[1:11]
はないながら
とlm.fit<-lm.fit[-12]
は何も変わりません。
SOに移行する投票。ソフトウェア固有の質問については、ヘルプセンターのアドバイスをご覧ください。本質的に、CVはコードのアドバイスやデバッグのためのものではありません。 –
これは、統計的な問題ではなく、主にコーディングの問題であるようです。CrossValidatedのトピックについては、[ヘルプ/トピック]をご覧ください。 StackOverflowで答えを得るのに十分な情報を提供してくれたようです。最も可能性の高い結果は、これがそこに移行されるため、あなた自身でクロスポストする必要はありません。 – Silverfish