Bibliotecas de aprendizado de máquina para Ruby

14

Existem bibliotecas de aprendizado de máquina para Ruby que são relativamente completas (incluindo uma grande variedade de algoritmos para aprendizado supervisionado e não supervisionado), testadas com robustez e bem documentadas? Eu amo o scikit-learn do Python por sua documentação incrível, mas um cliente prefere escrever o código em Ruby, pois é com isso que eles estão familiarizados.

Idealmente, estou procurando uma biblioteca ou conjunto de bibliotecas que, como scikite numpy, possam implementar uma ampla variedade de estruturas de dados, como matrizes esparsas, além de alunos.

Alguns exemplos de coisas que precisamos fazer são a classificação binária usando SVMs e a implementação de modelos de pacote de palavras que esperamos concatenar com dados numéricos arbitrários, conforme descrito neste post do StackOverflow .

the911s
fonte
Eu também gostaria de saber onde fica isso, pois atualmente me sinto obrigado a aprender Python, R e Octave, apenas para ter acesso a ferramentas para um hobby (enquanto conheço Ruby por motivos profissionais). Não sei o suficiente para sugerir uma resposta, mas conheço sciruby.com há algum tempo. Minha intuição é que ele ainda não está pronto
Neil Slater
Sim, demos uma olhada no sciruby e, embora pareça legal, parece limitado a fornecer algumas estruturas de dados e operações de álgebra linear. Se alguém construísse uma biblioteca ML unificada para Ruby, provavelmente seria uma ótima base para isso.
the911s

Respostas:

8

Vou seguir em frente e postar uma resposta por enquanto; se alguém tiver algo melhor, eu aceito o deles.

Nesse ponto, a opção mais poderosa parece estar acessando o WEKA usando o jRuby. Passamos ontem vasculhando a rede, e essa combinação foi usada até por uma palestra no RailsConf 2012 , então eu acho que se houvesse um pacote de rubi puro comparável, eles o teriam usado.

Observe que, se você sabe exatamente o que precisa, existem várias bibliotecas individuais que empacotam pacotes independentes como libsvm ou reimplementam alguns algoritmos individuais como Naive Bayes no puro Ruby e o poupam do uso do jRuby.

Mas para uma biblioteca de uso geral, WEKA e jRuby parecem ser a melhor aposta no momento.

the911s
fonte