Maschinelles Lernen Bibliotheken für Ruby

14

Gibt es maschinelle Lernbibliotheken für Ruby, die relativ vollständig (einschließlich einer Vielzahl von Algorithmen für überwachtes und unbeaufsichtigtes Lernen), robust getestet und gut dokumentiert sind? Ich mag Pythons Scikit-Learn wegen seiner unglaublichen Dokumentation, aber ein Kunde würde es vorziehen, den Code in Ruby zu schreiben, da er damit vertraut ist.

Ich suche nach einer Bibliothek oder ein Satz von Bibliotheken , im Idealfall, die wie scikitund numpyeine Vielzahl von Datenstrukturen wie dünn besetzte Matrizen implementieren können, sowie Lernende .

Einige Beispiele von Dingen, die wir tun müssen, sind die binäre Klassifizierung unter Verwendung von SVMs und die Implementierung von Bag-of-Word-Modellen, die wir hoffentlich mit beliebigen numerischen Daten verketten können, wie in diesem StackOverflow-Beitrag beschrieben .

the911s
quelle
Mich würde interessieren, wo sich das auch befindet, da ich mich derzeit gezwungen fühle, Python, R und Octave zu lernen, nur damit ich Zugang zu Werkzeugen für ein Hobby habe (während ich Ruby aus beruflichen Gründen kenne). Ich weiß nicht genug darüber, um eine Antwort vorzuschlagen, aber ich kenne sciruby.com schon eine Weile. Mein Bauchgefühl ist, dass es noch nicht fertig ist
Neil Slater
Ja, wir haben uns sciruby angeschaut, und obwohl es gut aussieht, scheint es darauf beschränkt zu sein, einige Datenstrukturen und lineare Algebraoperationen bereitzustellen. Wenn jemand eine einheitliche ML-Bibliothek für Ruby bauen würde, wäre dies wahrscheinlich eine gute Basis dafür.
the911s

Antworten:

8

Ich werde vorerst eine Antwort veröffentlichen. Wenn jemand etwas Besseres hat, nehme ich es an.

Zu diesem Zeitpunkt scheint die mächtigste Option zu sein, mit jRuby auf WEKA zuzugreifen. Wir haben gestern das Netz durchsucht , und diese Kombination wurde sogar von einem Vortrag auf der RailsConf 2012 verwendet. Wenn es also ein vergleichbares reines Rubinpaket gäbe, hätten sie es verwendet.

Beachten Sie, dass es viele einzelne Bibliotheken gibt, die entweder Standalone-Pakete wie libsvm einbinden oder einzelne Algorithmen wie Naive Bayes in Ruby neu implementieren und Ihnen die Verwendung von jRuby ersparen.

Für eine Universalbibliothek scheinen WEKA und jRuby derzeit die beste Wahl zu sein.

the911s
quelle