<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Fabrício, <br>
<br>
O randomForest tem suas principais funções implementadas em C. É
possível um programa standalone em C para chamar essas funções.
Veja o código fonte do pacote para isso. <br>
<br>
Veja também classes em C++ feitas para funções C desse pacote em <br>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
<a
href="https://code.google.com/p/randomforest-matlab/source/browse/trunk/RF_Class_C/src/">https://code.google.com/p/randomforest-matlab/source/browse/trunk/RF_Class_C/src/</a><br>
emboram sejam para serem chamadas em matlab, fica a idéia.<br>
<br>
Att.<br>
Elias.<br>
<br>
On 19/08/13 20:10, Fabrício Barth wrote:<br>
</div>
<blockquote
cite="mid:CA+ZaqT4XY0Li4QoXJ7=A3Re9QqUxVeyi0XAsiiCz=0VXEdTz2w@mail.gmail.com"
type="cite">
<div dir="ltr">Escrever um componente que lê a estrutura de
árvores do randomForest e cria uma estrutura em ruby/python é
factível. No entanto, eu queria ter certeza que não existam
componentes que façam isto antes de começar a implementação de
um componente novo.
<div>
<br>
</div>
<div>Manoel, você conhece algo que converte um modelo em R para
python?</div>
<div><br>
</div>
<div>Valeu!</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">2013/8/19 Manoel Galdino <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:mcz.fea@gmail.com" target="_blank">mcz.fea@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<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 moz-do-not-send="true"
href="mailto:fabricio.barth@gmail.com" target="_blank">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>
<div class="h5">
<div dir="ltr">Pessoal,
<div><br>
</div>
<div>Usei o algoritmo randomForest do pacote <a
moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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 moz-do-not-send="true"
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
moz-do-not-send="true"
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
moz-do-not-send="true"
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 moz-do-not-send="true"
href="http://fbarth.net.br" target="_blank">http://fbarth.net.br</a><br>
<a moz-do-not-send="true"
href="http://blog.fbarth.net.br"
target="_blank">http://blog.fbarth.net.br</a><br>
<a moz-do-not-send="true"
href="http://twitter.com/fbarth"
target="_blank">http://twitter.com/fbarth</a><br>
<a moz-do-not-send="true"
href="http://www.flickr.com/fbarth"
target="_blank">http://www.flickr.com/fbarth</a><br>
</div>
</div>
<br>
</div>
</div>
_______________________________________________<br>
R-br mailing list<br>
<a moz-do-not-send="true"
href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br>
<a moz-do-not-send="true"
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 moz-do-not-send="true"
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>
<br>
_______________________________________________<br>
R-br mailing list<br>
<a moz-do-not-send="true"
href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a moz-do-not-send="true"
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 moz-do-not-send="true"
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>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Fabrício J. Barth<br>
<a moz-do-not-send="true" href="http://fbarth.net.br"
target="_blank">http://fbarth.net.br</a><br>
<a moz-do-not-send="true" href="http://blog.fbarth.net.br"
target="_blank">http://blog.fbarth.net.br</a><br>
<a moz-do-not-send="true" href="http://twitter.com/fbarth"
target="_blank">http://twitter.com/fbarth</a><br>
<a moz-do-not-send="true" href="http://www.flickr.com/fbarth"
target="_blank">http://www.flickr.com/fbarth</a><br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
R-br mailing list
<a class="moz-txt-link-abbreviated" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a>
<a class="moz-txt-link-freetext" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a>
Leia o guia de postagem (<a class="moz-txt-link-freetext" href="http://www.leg.ufpr.br/r-br-guia">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.</pre>
</blockquote>
<br>
</body>
</html>