Chcę dokonać klasyfikacji na podstawie moich danych tekstowych. Mam 300 classes
200 dokumentów szkoleniowych na klasę (więc 60000 documents in total
), co może skutkować bardzo wysokimi wymiarami danych (być może szukamy ponad 1 milion wymiarów ).
Chciałbym wykonać następujące kroki w przygotowaniu (aby dać ci wyobrażenie o moich wymaganiach):
- Konwertowanie każdego dokumentu na wektor funkcji (
tf-idf
lubvector space model
) Feature selection
(Mutual Information
najlepiej oparte lub inne standardowe)- Szkolenie klasyfikatora (
SVM
,Naive Bayes
,Logistic Regression
lubRandom Forest
) - Prognozowanie niewidocznych danych na podstawie przeszkolonego modelu klasyfikatora.
Pytanie brzmi: jakich narzędzi / ram używam do obsługi danych o tak dużych wymiarach? Zdaję sobie sprawę ze zwykłych podejrzanych (R, WEKA ...), ale o ile mi wiadomo (mogę się mylić) być może żaden z nich nie poradzi sobie z tak dużymi danymi. Czy jest jakieś inne gotowe narzędzie, na które mógłbym spojrzeć?
Jeśli muszę to zrównoważyć, czy powinienem patrzeć na Apache Mahout ? Wygląda na to, że może jeszcze nie zapewniać wymaganej funkcjonalności.
Dzięki wszystkim z góry.
Aktualizacja: Rozejrzałem się po tej stronie , liście mailingowej R i ogólnie po Internecie. Wydaje mi się, że w mojej sytuacji mogą pojawić się następujące problemy:
(1) Wstępne przetwarzanie moich danych przy użyciu R ( w szczególności pakietu TM ) może być niepraktyczne , ponieważ tm
będzie zbyt wolne.
(2) Ponieważ będę musiał użyć zestawu pakietów R (przetwarzanie wstępne, rzadkie macierze, klasyfikatory itp.) Interoperacyjność między pakietami może stać się problemem, i mogę ponieść dodatkowe koszty związane z konwersją danych z jednego formatu na inny . Na przykład, jeśli wykonam wstępne przetwarzanie przy użyciu tm
(lub zewnętrznego narzędzia, takiego jak WEKA), będę musiał wymyślić sposób konwersji tych danych do postaci, którą biblioteki HPC w R mogą odczytać. I znowu nie jest dla mnie jasne, czy pakiety klasyfikujące bezpośrednio pobierałyby dane dostarczone przez biblioteki HPC.
Czy jestem na dobrej drodze? A co ważniejsze, czy mam sens?
foreach
biblioteki do pisania równoległego kodu w R. Działa to szczególnie dobrze w połączeniu z losowymi lasami, które z natury są łatwe do zrównoleglenia.