Ler dados da memória no Vowpal Wabbit?
Existe uma maneira de enviar dados para treinar um modelo no Vowpal Wabbit sem gravá-lo no disco?
Aqui está o que estou tentando fazer. Eu tenho um conjunto de dados relativamente grande em CSV (em torno de 2GB) que cabe na memória sem nenhum problema. Carrego-o no R em um quadro de dados e tenho uma função para converter os dados nesse quadro de dados no formato VW.
Agora, para treinar um modelo, preciso primeiro gravar os dados convertidos em um arquivo e depois alimentar esse arquivo com a VW. E a parte de gravação no disco leva muito tempo, especialmente porque eu quero experimentar vários modelos diferentes com transformações de recursos diferentes e, portanto, tenho que gravar os dados no disco várias vezes.
Então, supondo que eu seja capaz de criar um vetor de caractere em R, no qual cada elemento é uma linha de dados no formato VW, como eu poderia alimentá-lo no VW sem gravá-lo no disco?
Pensei em usar o modo daemon e gravar o vetor de caractere em uma conexão localhost, mas não consegui convencer a VW atrem no modo daemon - não tenho certeza se isso é possível.
Estou disposto a usar c ++ (através do pacote Rcpp), se necessário, para fazer isso funcionar.
Muito obrigado antecipadamente.
ATUALIZAR:
Obrigado a todos por sua ajuda. Caso alguém esteja interessado, enviei a saída para a VW conforme sugerido na resposta, da seguinte forma:
# 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)