약 6200 개의 카테고리에 대해 약 44 백만 개의 교육 사례가 있습니다. 훈련 후, 모델은 ~ Mahout - Naive Bayes Model 매우 느립니다.
그리고 테스트하는 동안, 4백50메가바이트
나옵니다 5 병렬 매퍼 (각각의 주어진 충분한 RAM)와, 너무 느린 ~ 4 개 항목 두 번째의 속도로 분류 진행됩니다.어떻게 속도를 높일 수 있습니까? 내가 생각할 수있는 한 가지 방법은 단어 코퍼스를 줄이는 것이지만 정확성을 잃을 까봐 두려워합니다. 나는 maxDFPercent를 80으로 설정했다.
또 다른 방법으로는 클러스터링 알고리즘을 통해 항목을 실행하고 경험적으로 클러스터 수를 최대화하면서 각 범주 내의 항목을 단일 클러스터로 제한했다. 이렇게하면 각 클러스터마다 별도의 모델을 구축 할 수 있으므로 교육 및 테스트 시간이 단축 될 수 있습니다.
다른 의견은 있습니까?
편집 : 아래의 몇 가지 답변 후
, 난 하나 "매우"가까운 항목의 그룹을 식별, 클러스터링 알고리즘을 실행하여 다운 샘플링의 형태를하고 고민 시작 또 다른 하나는 그 밀접하게 서로 가깝지 않은 "매우"근접한 그룹과 다른 샘플로부터 몇 개의 샘플 조합을 취하는 것입니다.
는 또한 N-g ( http://lucene.apache.org/core/4_1_0/suggest/org/apache/lucene/search/spell/NGramDistance.html)나는 또한 ML 라이브러리의 일부를 활용하기 위해 하둡 스트리밍 API를 사용하여 고려 중이을 사용하는 동안 편집 거리를 통합 관련 데이터 정규화 기술의 형태를 사용하는 방법에 대해 생각하기 시작 파이썬에서 사용할 수는 http://scikit-learn.org/stable/modules/svm.html#svm는 가능한 한 빨리
글쎄, 솔직하게 말해서, 정확도를 왜곡하지 않고 각 카테고리 내에서 데이터를 다운 샘플링하는 가장 좋은 방법을 찾으려고 계속 노력 중이다. 랜덤 샘플링은 내가하고 싶은 마지막 것입니다. 데이터 세트는 온라인으로 판매되는 항목들로 구성되어 있으며 "Men 's Clothing", "Refrigerators"등과 같은 관련 카테고리에 들어있는 새로운 항목을 분류하려고합니다. 또한 내 게시물을 편집 했으므로 댓글을 달 수 있습니다. 그게 올바른 방향이라면? – Nerrve
각 범주 내의 데이터도 상당히 비뚤어 질 수 있습니다. 나는 각 항목이 만들어지는 방식을 언급하고있다. 일부 벤더는 자신의 아이템에 대해 매우 잘 설명하고있는 반면, 다른 벤더는 최소한의 세부 사항만을 제공 할 수도 있습니다. 각 카테고리의 항목 중 일부는 다른 브랜드에서 올 수 있으며 모든 브랜드에는 영어 이름이 없을 수 있으며 일부 설명에는 영어가 아닌 단어가 포함될 수도 있습니다. 나는 단순한 형태소 분석이 여기 도움이되지 않는다는 것을 깨달았고, 더 이국적인 무언가가있을 필요가있다. – Nerrve
업데이트 대답 : – mbatchkarov