映画レビューの感情を予測する
前の演習では、映画レビューの学習用データとテスト用データについて、Bag-of-Words 表現を作成しました。今回の演習では、この表現を使って Naive Bayes 分類器を学習し、映画レビューの感情を判定して、その精度を計算します。これは二値分類問題なので、モデルはレビューをポジティブ(1)かネガティブ(0)のどちらかにしか分類できません。中立的なレビューは判定できない点に注意してください。
復習として、学習用とテスト用の BoW ベクトルはそれぞれ X_train_bow と X_test_bow に、対応するラベルは y_train と y_test に用意されています。参考までに、元の映画レビューのデータセットは df として利用できます。
この演習はコースの一部です
Pythonで学ぶNLPの特徴量エンジニアリング
演習の手順
MultinomialNBのオブジェクトをインスタンス化し、clfという名前を付けてください。X_train_bowとy_trainを使ってclfを学習(fit)させてください。X_test_bowとy_testを使ってclfの精度を測定してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Create a MultinomialNB object
clf = ____
# Fit the classifier
clf.____(____, ____)
# Measure the accuracy
accuracy = clf.score(____, ____)
print("The accuracy of the classifier on the test set is %.3f" % accuracy)
# Predict the sentiment of a negative review
review = "The movie was terrible. The music was underwhelming and the acting mediocre."
prediction = clf.predict(vectorizer.transform([review]))[0]
print("The sentiment predicted by the classifier is %i" % (prediction))