Bibliotecas de aprendizaje automático para Ruby

14

¿Hay alguna biblioteca de aprendizaje automático para Ruby que sea relativamente completa (incluida una amplia variedad de algoritmos para el aprendizaje supervisado y no supervisado), probada de manera sólida y bien documentada? Me encanta el scikit-learn de Python por su increíble documentación, pero un cliente preferiría escribir el código en Ruby ya que eso es con lo que está familiarizado.

Idealmente, estoy buscando una biblioteca o un conjunto de bibliotecas que, como scikity numpy, puedan implementar una amplia variedad de estructuras de datos como matrices dispersas, así como estudiantes.

Algunos ejemplos de cosas que necesitaremos hacer son la clasificación binaria usando SVM e implementando modelos de bolsa de palabras que esperamos concatenar con datos numéricos arbitrarios, como se describe en esta publicación de StackOverflow .

los911s
fuente
También me interesaría saber dónde se encuentra esto, ya que actualmente me siento obligado a aprender Python, R y Octave, solo para tener acceso a herramientas para un hobby (aunque conozco a Ruby por razones profesionales). No sé lo suficiente para sugerir una respuesta, pero he sabido sobre sciruby.com por un tiempo. Mi instinto es que aún no está listo
Neil Slater
Sí, echamos un vistazo a sciruby, y aunque se ve bien, parece limitado a proporcionar algunas estructuras de datos y operaciones de álgebra lineal. Si alguien construyera una biblioteca ML unificada para Ruby, probablemente sería una gran base para eso.
the911s

Respuestas:

8

Seguiré y publicaré una respuesta por ahora; si alguien tiene algo mejor, aceptaré el suyo.

En este punto, la opción más poderosa parece ser acceder a WEKA usando jRuby. Pasamos ayer recorriendo la red, y esta combinación incluso fue utilizada por una charla en RailsConf 2012 , por lo que supongo que si hubiera un paquete de rubí puro comparable, lo habrían utilizado.

Tenga en cuenta que si sabe exactamente lo que necesita, hay muchas bibliotecas individuales que envuelven paquetes independientes como libsvm o vuelven a implementar algunos algoritmos individuales como Naive Bayes en Ruby puro y le ahorrará el uso de jRuby.

Pero para una biblioteca de uso general, WEKA y jRuby parecen ser la mejor apuesta en este momento.

los911s
fuente