Biblioteki uczenia maszynowego dla Ruby

14

Czy są jakieś biblioteki uczenia maszynowego dla języka Ruby, które są względnie kompletne (w tym szeroką gamę algorytmów do uczenia nadzorowanego i bez nadzoru), solidnie przetestowane i dobrze udokumentowane? Uwielbiam scikit-learn Pythona ze względu na jego niesamowitą dokumentację, ale klient wolałby napisać kod w Ruby, ponieważ jest z nim znany.

Idealnie szukam biblioteki lub zestawu bibliotek, które, podobnie jak scikiti numpy, mogą implementować szeroką gamę struktur danych, takich jak rzadkie macierze, a także uczniów.

Niektóre przykłady rzeczy, które musimy zrobić, to klasyfikacja binarna za pomocą SVM i implementacja modeli worków słów, które mamy nadzieję połączyć z dowolnymi danymi liczbowymi, jak opisano w tym poście StackOverflow .

the911s
źródło
Chciałbym również wiedzieć, gdzie to jest, ponieważ obecnie czuję się zobowiązany do nauki Python, R i Octave, tylko dlatego mam dostęp do narzędzi do hobby (podczas gdy znam Ruby z powodów zawodowych). Nie wiem wystarczająco dużo, aby zasugerować odpowiedź, ale od jakiegoś czasu wiem o sciruby.com . Czuję, że nie jest jeszcze gotowy
Neil Slater,
Tak, przyjrzeliśmy się sciruby i chociaż wygląda to ładnie, wydaje się, że ogranicza się do zapewnienia niektórych struktur danych i operacji algebry liniowej. Gdyby ktoś zbudował ujednoliconą bibliotekę ML dla Ruby, prawdopodobnie byłaby to świetna podstawa do tego.
the911s,

Odpowiedzi:

8

Pójdę naprzód i na razie opublikuję odpowiedź; jeśli ktoś ma coś lepszego, zaakceptuję ich.

W tym momencie wydaje się, że najpotężniejszą opcją jest dostęp do WEKA za pomocą jRuby. Wczoraj spędziliśmy na przeszukiwaniu sieci, a ta kombinacja była nawet używana podczas rozmowy na RailsConf 2012 , więc zgaduję, że gdyby istniał porównywalny czysty pakiet rubinowy, to by go użyli.

Zauważ, że jeśli dokładnie wiesz, czego potrzebujesz, istnieje wiele pojedynczych bibliotek, które albo pakują autonomiczne pakiety, jak libsvm, lub ponownie implementują niektóre indywidualne algorytmy, takie jak Naive Bayes, w czystym Ruby i oszczędzą ci korzystania z jRuby.

Ale w przypadku biblioteki ogólnego przeznaczenia WEKA i jRuby wydają się w tej chwili najlepszym wyborem.

the911s
źródło