Prédire le sentiment d’une critique de film
Dans l’exercice précédent, vous avez généré les représentations sac de mots pour les données d’entraînement et de test des critiques de films. Dans cet exercice, nous allons utiliser ce modèle pour entraîner un classifieur Naive Bayes capable de détecter le sentiment d’une critique et d’en calculer la précision. Notez que comme il s’agit d’un problème de classification binaire, le modèle ne peut classer une critique que comme positive (1) ou négative (0). Il est incapable de détecter les critiques neutres.
Pour rappel, les vecteurs BoW d’entraînement et de test sont disponibles sous X_train_bow et X_test_bow respectivement. Les étiquettes correspondantes sont disponibles sous y_train et y_test. De plus, pour référence, le jeu de données original des critiques de films est disponible sous df.
Cet exercice fait partie du cours
Feature Engineering pour le NLP en Python
Instructions
- Instanciez un objet de
MultinomialNB. Nommez-leclf. - Entraînez
clfavecX_train_bowety_train. - Mesurez la précision de
clfavecX_test_bowety_test.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))