Kaggle感情分析(Bag of Words Meets Bags of Popcorn)
2196 ワード
Kaggleには2つの感情分析の任務があり、これはそのうちの1つのBag of Words Meets Bags of Popcornである.任務は終わったが、まだ研究の意義がある.https://www.kaggle.com/c/word2vec-nlp-tutorial/dataこれはWord 2 vecの能力を誇示するコンテストですが、word 2 vecを使わない人もいます.このBlogは簡単なTDFをFeatureとして書き,簡単なM‐Bayesian法で分類した.http://nbviewer.ipython.org/github/jmsteinw/Notebooks/blob/master/NLP_Movies.ipynb
1ロードデータのテスト
2 LSTMベースのモデルを書く
文章をword sequenceに変換し、各wordをベクトルにマッピングし、LSTMでClassificationを直接行います.
(‘Train ‘, 0.31977043441405351, ‘Valid ‘, 0.40485674490569001)
best Train 0.500157513046 best Test 0.504475696675は完全にrandomです.
3 CNNを使った記事を読む
現在のモデルとこの文の違いはWord 2 vecでTrainingしていないことです.このモデルを実現する.Word 2 vecも使用してInitial Embeddingします.
avg/total 0.90 0.90 0.90 5000
4 Word 2 Vecを使用してPretrain
avg/total 0.71 0.57 0.49 5000
(‘Train ‘, 0.36674888341365341, ‘Valid ‘, 0.41000973615537728) Seen 19997 samples best Train 0.298261539235 best Test 0.343271244447 The code run for 200 epochs, with 152.172339 sec/epochs Training took 30434.5s precision recall f1-score support
avg/total 0.70 0.57 0.50 5000
1ロードデータのテスト
test1.py
はこのBlogのコードを基本的にコピーし、20個のCrossValidationの正解率は0.949631168である.2 LSTMベースのモデルを書く
文章をword sequenceに変換し、各wordをベクトルにマッピングし、LSTMでClassificationを直接行います.
1_mr_lstm.py
はLSTMの最後の出力のみを使用します.(‘Train ‘, 0.31977043441405351, ‘Valid ‘, 0.40485674490569001)
2_mr_lstm.py
LSTMでsequenceのmeanを出力:best Train 0.500157513046 best Test 0.504475696675は完全にrandomです.
3 CNNを使った記事を読む
現在のモデルとこの文の違いはWord 2 vecでTrainingしていないことです.このモデルを実現する.Word 2 vecも使用してInitial Embeddingします.
5_mr_cnn.py
明らかなOverfit(‘Train’,0.0,‘Valid’,0.105999999999999999998)best Train 0.0 best Test 0.104 The code run for 100 epochs,with 79.829817 sec/epochs Training took 7983.0 s precision recall f 1-score support 0 0.90 0.88 0.89 2483
1 0.89 0.91 0.90 2517
avg/total 0.90 0.90 0.90 5000
6_mr_cnn.py
dropoutに参加4 Word 2 Vecを使用してPretrain
3_mr_lstm.py
は最後の出力(‘Train’,0.35430654320040156,‘Valid’,0.39911492608135416)Seen 20000 samples best Train 0.32228788388 best Test 0.3400202020202011 The code run for 200 epochs,with 160.020890 sec/epochs Training took 32004.2 s precision recall f 1-score support 0 0.54 0.98 0.69 2483
1 0.88 0.17 0.29 2517
avg/total 0.71 0.57 0.49 5000
4_mr_lstm.py
LSTMでsequenceのmeanを出力:(‘Train ‘, 0.36674888341365341, ‘Valid ‘, 0.41000973615537728) Seen 19997 samples best Train 0.298261539235 best Test 0.343271244447 The code run for 200 epochs, with 152.172339 sec/epochs Training took 30434.5s precision recall f1-score support
0 0.54 0.97 0.69 2483
1 0.85 0.18 0.30 2517
avg/total 0.70 0.57 0.50 5000