3-5. BoW + XGBoosting
[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
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 )