<p>Talvez seja mais fácil vc implementar em python, e depois chamar o python do ruby?</p>
<p>Ou então, usa o r só pra privatização mesmo e reimplementa no ruby. </p>
<p>Abçs<br>
M</p>
<div class="gmail_quote">Em 19/08/2013 13:35, "Fabrício Barth" <<a href="mailto:fabricio.barth@gmail.com">fabricio.barth@gmail.com</a>> escreveu:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Pessoal,<div><br></div><div>Usei o algoritmo randomForest do pacote <a href="http://cran.r-project.org/web/packages/randomForest/randomForest.pdf" target="_blank">http://cran.r-project.org/web/packages/randomForest/randomForest.pdf</a> para criar um classificador com 80% de acurácia. Quero utilizar este modelo (classificador) em ambiente de produção, integrado a uma aplicação escrita em Ruby. </div>
<div><br></div><div>Para implementar a integração eu já fiz alguns testes com:</div><div><br></div><div>1) RApache: <a href="http://rapache.net/" style="text-decoration:none" target="_blank"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://rapache.net/</span></a></div>
<div>2) Rserver: <a href="http://www.rforge.net/Rserve/doc.html" style="text-decoration:none" target="_blank"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">http://www.rforge.net/Rserve/doc.html</span></a></div>
<div>3) RinRuby: <a href="https://sites.google.com/a/ddahl.org/rinruby-users/" style="text-decoration:none" target="_blank"><span style="font-size:13px;font-family:Arial;background-color:transparent;text-decoration:underline;vertical-align:baseline;white-space:pre-wrap">https://sites.google.com/a/ddahl.org/rinruby-users/</span></a></div>
<div>4) RScript: <span style="text-decoration:underline;font-size:13px;font-family:Arial;background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><a href="http://stat.ethz.ch/R-manual/R-patched/library/utils/html/Rscript.html" style="text-decoration:none" target="_blank">http://stat.ethz.ch/R-manual/R-patched/library/utils/html/Rscript.html</a></span></div>
<div>5) R com a opção "-e EXPR" via bash do unix.</div><div>6) Exportar o modelo usando PMML (<a href="http://journal.r-project.org/archive/2009-1/RJournal_2009-1_Guazzelli+et+al.pdf" target="_blank">http://journal.r-project.org/archive/2009-1/RJournal_2009-1_Guazzelli+et+al.pdf</a>) e importá-lo no ruby.</div>
<div><br></div><div>No entanto, nenhuma das opções é rápida e robusta o sufiente para processar 4e+09 requisições em no máximo 4 horas. Aliás, se eu fosse fazer um ranking das opções, eu diria que em primeiro lugar está "R com a opção "-e EXPR" via bash do unix", seguido por RScript, depois RinRuby e depois todas as outras alternativas.</div>
<div><br></div><div>A parte em Ruby já foi desenvolvida para processar paralelamente em várias máquinas. No entanto, o gargalo da aplicação está sendo a execução do modelo em R. </div><div><br></div><div>Alguém conhece alguma forma para converter um modelo preditivo em R (no caso, randomForest) para uma estrutura em C ou Ruby?</div>
<div><div><br></div><div>Valeu!</div>-- <br>Fabrício J. Barth<br><a href="http://fbarth.net.br" target="_blank">http://fbarth.net.br</a><br><a href="http://blog.fbarth.net.br" target="_blank">http://blog.fbarth.net.br</a><br>
<a href="http://twitter.com/fbarth" target="_blank">http://twitter.com/fbarth</a><br><a href="http://www.flickr.com/fbarth" target="_blank">http://www.flickr.com/fbarth</a><br>
</div></div>
<br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div>