データをディスクに書き込まずに、Vowpal Wabbit でモデルをトレーニングするためにデータを送信する方法はありますか?
これが私がやろうとしていることです。問題なくメモリに収まるcsv(約2GB)の比較的大きなデータセットがあります。Rでデータフレームにロードし、そのデータフレームのデータをVW形式に変換する機能があります。
モデルをトレーニングするには、まず変換されたデータをファイルに書き込んでから、そのファイルを VW にフィードする必要があります。また、ディスク部分への書き込みには時間がかかりすぎます。特に、さまざまな機能変換を使用してさまざまなモデルを試したいため、データをディスクに複数回書き込む必要があります。
では、各要素が VW 形式のデータの行である文字ベクトルを R で作成できると仮定すると、それをディスクに書き込まずに VW に入力するにはどうすればよいでしょうか?
デーモン モードを使用して、文字ベクトルを localhost 接続に書き込むことを検討しましたが、VW をデーモン モードでトレーニングすることができませんでした。これが可能かどうかさえわかりません。
これを機能させるために、必要に応じて (Rcpp パッケージを介して) c++ を使用したいと考えています。
事前にどうもありがとうございました。
アップデート:
皆様、ご協力ありがとうございました。誰かが興味を持っている場合に備えて、回答で提案されているように、出力を VW にパイプしました。
# Two sample rows of data
datarows <- c("1 |name 1:1 2:4 4:1", "-1 |name 1:1 4:1")
# Open connection to VW
con <- pipe("vw -f my_model.vw")
# Write to connection and close
writeLines(datarows, con)
close(con)