始める無料で始める

映画レビューの感情を予測する

前の演習では、映画レビューの学習用データとテスト用データについて、Bag-of-Words 表現を作成しました。今回の演習では、この表現を使って Naive Bayes 分類器を学習し、映画レビューの感情を判定して、その精度を計算します。これは二値分類問題なので、モデルはレビューをポジティブ(1)かネガティブ(0)のどちらかにしか分類できません。中立的なレビューは判定できない点に注意してください。

復習として、学習用とテスト用の BoW ベクトルはそれぞれ X_train_bowX_test_bow に、対応するラベルは y_trainy_test に用意されています。参考までに、元の映画レビューのデータセットは df として利用できます。

この演習はコースの一部です

Pythonで学ぶNLPの特徴量エンジニアリング

コースを見る

演習の手順

  • MultinomialNB のオブジェクトをインスタンス化し、clf という名前を付けてください。
  • X_train_bowy_train を使って clf を学習(fit)させてください。
  • X_test_bowy_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))
コードを編集して実行