슬기로운 연구생활

3-5. BoW + XGBoosting 본문

프로젝트 : 영화리뷰 분류

3-5. BoW + XGBoosting

vhrehfdl 2019. 7. 25. 15:33

[0] 서론

- XGBoosting은 여러 Kaggle 대회에서 많이 사용하는 알고리즘이다.

성능이 좋다고 알려져있어서 사용하기 전에도 기대를 했었다.

하지만 막상 돌려보니 월등히 뛰어나지는 않았다.

[1] 실험

- sklearn의 xgboost.XGBClassifier()를 사용하였다.

 

[1-1] DataSet

- Train Data ( train.csv )

긍정 리뷰 : 93,042 / 부정 리뷰 : 275,270

- Test Data ( validation.csv )

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

- 평점이 1점 ~ 3점인 영화리뷰를 부정 리뷰로 분류했고 10점인 리뷰를 긍정 리뷰로 분류했다.

[1-2] Text To Vector

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

실험 Vector 차원수 : 602,884

[1-3] XGBoosting

( 그림1 ) 실험 결과

accuracy : 0.7733848

기대한 것에 못 미치는 것 같다.

확실히 대용량 데이터에서는 DL이 ML보다 좋은 것 같다.

ML은 모델을 만드는데 생각보다 시간도 오래걸리고 성능도 엄청 좋다고 느껴지지는 않는다.

물론 내가 전처리도 별로 안 했었고 BoW를 사용해서 그런지는 몰라도 성능이 좋게 나오지는 않았다.

여기서 잘 나오게 하려면 최적의 알고리즘을 찾고 전처리를 하고 TF-IDF 등을 사용하는 등 여러 다양한 방법을 사용해 최적의 결과를 찾는다면 성능을 높일 수 있을 것이라 생각된다.

[2] 결론

 

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

 

SVM ver.1 : 기본 SVM

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

'프로젝트 : 영화리뷰 분류' 카테고리의 다른 글

4-1. TF-IDF + NB  (0) 2019.09.10
3-4. BoW + Random Forest Classifier  (0) 2019.07.25
3-3. BoW + SVM  (0) 2019.07.25
3-2. BoW + NB + Komoran  (0) 2019.07.25
3-1. BoW + NB  (0) 2019.07.24
Comments