Fabrício,

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.

Veja também classes em C++ feitas para funções C desse pacote em
https://code.google.com/p/randomforest-matlab/source/browse/trunk/RF_Class_C/src/
emboram sejam para serem chamadas em matlab, fica a idéia.

Att.
Elias.

On 19/08/13 20:10, Fabrício Barth wrote:
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.

Manoel, você conhece algo que converte um modelo em R para python?

Valeu!


2013/8/19 Manoel Galdino <[email protected] <mailto:[email protected]>>

    Talvez seja mais fácil vc implementar em python, e depois chamar o
    python do ruby?

    Ou então, usa o r só pra privatização mesmo e reimplementa no ruby.

    Abçs
    M

    Em 19/08/2013 13:35, "Fabrício Barth" <[email protected]
    <mailto:[email protected]>> escreveu:

        Pessoal,

        Usei o algoritmo randomForest do pacote
        http://cran.r-project.org/web/packages/randomForest/randomForest.pdf 
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.

        Para implementar a integração eu já fiz alguns testes com:

        1) RApache: http://rapache.net/
        2) Rserver: http://www.rforge.net/Rserve/doc.html
        3) RinRuby: https://sites.google.com/a/ddahl.org/rinruby-users/
        4) RScript:
        http://stat.ethz.ch/R-manual/R-patched/library/utils/html/Rscript.html
        5) R com a opção "-e EXPR" via bash do unix.
        6) Exportar o modelo usando PMML
        
(http://journal.r-project.org/archive/2009-1/RJournal_2009-1_Guazzelli+et+al.pdf)
        e importá-lo no ruby.

        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.

        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.

        Alguém conhece alguma forma para converter um modelo preditivo
        em R (no caso, randomForest) para uma estrutura em C ou Ruby?

        Valeu!
-- Fabrício J. Barth
        http://fbarth.net.br
        http://blog.fbarth.net.br
        http://twitter.com/fbarth
        http://www.flickr.com/fbarth

        _______________________________________________
        R-br mailing list
        [email protected] <mailto:[email protected]>
        https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
        Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
        forneça código mínimo reproduzível.


    _______________________________________________
    R-br mailing list
    [email protected] <mailto:[email protected]>
    https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
    Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e
    forneça código mínimo reproduzível.




--
Fabrício J. Barth
http://fbarth.net.br
http://blog.fbarth.net.br
http://twitter.com/fbarth
http://www.flickr.com/fbarth


_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.

_______________________________________________
R-br mailing list
[email protected]
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código 
mínimo reproduzível.

Responder a