프로젝트 : 영화리뷰 분류

3-4. BoW + Random Forest Classifier

vhrehfdl 2019. 7. 25. 15:27

[0] 서론

- RandomForest는 사실 아무 생각 없이 사용했었다.

Decision Tree 형태를 가진다는 것만 알고 있었지 이번에 적용하면서 대략적은 흐름을 알게되었다.

- RandomForet도 SVM과 마찬가지로 60만개의 학습데이터를 사용하면 시간이 오래 걸리기 때문에 2만개의 학습데이터를 사용해 model을 만들었다.

[1] 실험

sklearn의 ensemble.RandomForestClassifier()를 사용하였다.

 

[1-1] DataSet

- Train Data ( train_small.csv )

긍정 리뷰 : 10,000 / 부정 리뷰 : 10,000

- Test Data ( validation.csv )

긍정 리뷰 : 10,338 / 부정 리뷰 : 30,586

Train Data와 Test Data에 대해서 좀 더 설명하자면 평점이 1점 ~ 3점인 영화리뷰를 부정 리뷰로 분류했고 10점인 리뷰를 긍정 리뷰로 분류했다.

[1-2] Text To Vector

- Bag of Word를 방법을 사용해 Text를 Vector로 변환한다.

실험 Vector 차원수 : 161,555

[1-3] Random Forest Classifier

( 그림1 ) 실험 결과

accuracy : 0.79

​​

[2] 정리

 

  BoW
NB 0.86
SVM ver.1 0.57
SVM ver.2 0.76
Random Forest 0.79

 

SVM ver.1 : 기본 SVM

SVM ver.2 : version1에 rbf 커널 추가 ( C=10, gamma = 0.1 )