일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인공지능
- naver movie review
- 수기
- 우울증
- CUDA
- 자연어처리
- Classification Task
- word embedding
- sentiment analysis
- 품사태깅
- Word2Vec
- NLP
- 전처리
- pytorch
- 석사
- 대학원
- Today
- Total
슬기로운 연구생활
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 )
'프로젝트 : 영화리뷰 분류' 카테고리의 다른 글
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 |