텍스트 데이터를 분류하려고합니다. 나는 300 classes
수업 당 200 개의 교육 문서를 가지고 60000 documents in total
있으며 이것은 매우 높은 차원의 데이터 를 초래할 가능성 이있다 (우리는 1 백만 개 이상의 차원을 보고있을 것이다 ).
파이프 라인에서 다음 단계를 수행하고 싶습니다 (내 요구 사항에 대한 이해를 돕기 위해).
- 각 문서를 피처 벡터 (
tf-idf
또는vector space model
) 로 변환 Feature selection
(Mutual Information
바람직하게 또는 다른 표준을 기반으로 함)- 분류 훈련 (
SVM
,Naive Bayes
,Logistic Regression
또는Random Forest
) - 훈련 된 분류기 모델을 기반으로 보이지 않는 데이터를 예측합니다.
문제는 이러한 고차원 데이터를 처리하기 위해 어떤 도구 / 프레임 워크를 사용해야합니까? 나는 평범한 용의자 (R, WEKA ...)를 알고 있지만 내 지식이가는 한 (내가 틀릴 수도 있음) 아마도 아무도이 큰 데이터를 처리 할 수 없습니다. 내가 볼 수있는 선반 도구 이외의 다른 도구가 있습니까?
병렬화 해야하는 경우 Apache Mahout을 보고해야 합니까? 아직 필요한 기능을 제공하지 못하는 것 같습니다.
미리 감사드립니다.
업데이트 : 나는 이 웹 사이트 , R 메일 링리스트 및 인터넷을 둘러 보았습니다 . 내 상황에서 다음과 같은 문제가 발생할 수 있습니다.
R (사용하여 내 데이터 전처리 (1) TM을 특히 패키지)이 될 수 비실용적 때문에 tm
엄청나게 느린 될 것입니다.
(2) R 패키지의 앙상블 (전처리, 희소 행렬, 분류기 등)을 사용해야하므로 패키지 간의 상호 운용성이 문제가 될 수 있으며 한 형식에서 다른 형식으로 데이터를 변환 할 때 추가 오버 헤드가 발생할 수 있습니다. . 예를 들어 tm
WEKA와 같은 외부 도구를 사용하여 사전 처리를 수행 하는 경우이 데이터를 R의 HPC 라이브러리가 읽을 수있는 형식으로 변환하는 방법을 찾아야합니다. 그리고 분류 자 패키지가 HPC 라이브러리에서 제공 한대로 데이터를 직접 가져 오는지 명확하지 않습니다.
내가 올바른 길을 가고 있습니까? 그리고 더 중요한 것은, 이해가 되나요?
foreach
라이브러리 쓰기 병렬 코드를 R로 사용할 수 있습니다 . 이는 본질적으로 병렬화가 쉬운 임의 포리스트와 함께 잘 작동합니다.