2010-11-09 17 views
11

Próbuję rozwiązać prosty problem z klasyfikacją.Klasyfikuj dane za pomocą Apache Mahout

Problem:
Mam zestaw tekstu i muszę je zaklasyfikować na podstawie treści.

Rozwiązanie wykorzystujące Mahout:
Zrozumiałem, że muszę przekonwertować dane wejściowe na plik sekwencji, aby wygenerować model. Tak, udało mi się to zrobić. Teraz, w jaki sposób mogę skategoryzować moje dane testowe? Przykład 20News sprawdza tylko poprawność. Ale chcę zrobić faktyczną klasyfikację.
Nie jestem pewien, czy muszę napisać kod lub użyć dostępnych klas do sklasyfikowania zestawu testowego.?

Odpowiedz

3

Nienawidzę podłączać mojej pracy, ale w sekcji Akcja umieszczamy całą sekcję w Mahout w sprawie klasyfikacji. Teoria, przykłady kodu, praktyka studium przypadku, nawet cała implementacja farmy serwerów.

można uzyskać przedpremierowej wersji na http://www.manning.com/owen/

+14

IMO, można poprawić sekcje dotyczące klasyfikacji w książce. Sekcje dotyczące klasyfikacji są obszerne, niejasne i często niesekwencyjne. Może być więcej przykładów kodowania java i mniej przykładów powłoki bash. Sekcja klasyfikacji mogłaby być lepsza, gdyby była napisana bardziej jak rozdziały wprowadzające: Pokaż format plików klasyfikacji, jak je odczytać, jak załadować je do swojego klasyfikatora, po szkoleniu, jak używać klasyfikatora do klasyfikacji nowej próbki. –

+8

Chciałbym, żeby Mahout miał więcej lepszej dokumentacji. Ludzie, którzy są ekspertami w uczeniu maszynowym, mają trudności ze zrozumieniem struktury rurociągu przetwarzania i architektury kodu. Nawet javadocs używają niewłaściwej terminologii (setGramSize powinno być ustawioneNGramSize) mała semantyka czyni OGROMNĄ różnicę w rozumieniu pojęć i kodu. –

3

Mam podobny problem.

Running

bin/mahout org.apache.mahout.classifier.Classify --path <PATH TO MODEL> --classify <PATH TO TEXT FILE TO BE CLASSIFIED> --encoding UTF-8 --analyzer org.apache.mahout.vectorizer.DefaultAnalyzer --defaultCat unknown --gramSize 1 --classifierType bayes --dataSource hdfs 

będzie klasyfikować pliku tekstowego na podstawie modelu.

To może ci trochę pomóc, ale domyślam się, że tak jak ja, chcesz zaklasyfikować cały ładunek dokumentów i chcesz wydrukować w użytecznym formacie.

Może w tym celu zaprogramować nieco java. Ktoś ma przykład, który wygląda tak, jak zrobi to, co chcę pod adresem: https://bitbucket.org/jaganadhg/blog/src/tip/bck9/java/src/org/bc/kl/ClassifierDemo.java