저는 머신 러닝을 처음 사용합니다. 현재 NLTK와 python을 사용하여 작은 클래스의 텍스트를 양, 음 또는 중립으로 분류하기 위해 Naive Bayes (NB) 분류기를 사용하고 있습니다.
300,000 개의 인스턴스 (16,924 긍정 7,477 네거티브 및 275,599 개의 중립)로 구성된 데이터 세트를 사용하여 일부 테스트를 수행 한 후 피처 수를 늘리면 정확도는 떨어지지 만 포지티브 및 네거티브 클래스의 정밀도 / 호출은 증가한다는 것을 알았습니다. 이것이 NB 분류기의 정상적인 동작입니까? 더 많은 기능을 사용하는 것이 더 나을 것이라고 말할 수 있습니까?
일부 데이터 :
Features: 50
Accuracy: 0.88199
F_Measure Class Neutral 0.938299
F_Measure Class Positive 0.195742
F_Measure Class Negative 0.065596
Features: 500
Accuracy: 0.822573
F_Measure Class Neutral 0.904684
F_Measure Class Positive 0.223353
F_Measure Class Negative 0.134942
미리 감사드립니다 ...
2011/11/26 수정
Naive Bayes 분류기로 3 가지 기능 선택 전략 (MAXFREQ, FREQENT, MAXINFOGAIN)을 테스트했습니다. 먼저 정확도와 클래스 당 F1 측정 값이 있습니다.
그런 다음 상위 100 및 상위 1000 기능과 함께 MAXINFOGAIN을 사용할 때 증분 훈련 세트로 열차 오류 및 테스트 오류를 플로팅했습니다.
따라서 FREQENT를 사용하면 가장 높은 정확도를 얻을 수 있지만 최상의 분류기는 MAXINFOGAIN을 사용하는 분류기입니다. 맞 습니까? 상위 100 개의 기능을 사용하는 경우 편향이 있으며 (테스트 오류는 기차 오류에 가깝습니다) 더 많은 교육 예제를 추가해도 도움이되지 않습니다. 이를 개선하려면 더 많은 기능이 필요합니다. 1000 개의 기능으로 바이어스가 줄어들지 만 오류가 증가합니다. 더 많은 기능을 추가해야합니까? 나는 이것을 어떻게 해석 해야할지 모르겠다 ...
다시 한번 감사드립니다 ...