Prevendo o sentimento de uma resenha de filme
No exercício anterior, você gerou as representações bag-of-words para os dados de treino e teste das resenhas de filmes. Neste exercício, vamos usar esse modelo para treinar um classificador Naive Bayes capaz de detectar o sentimento de uma resenha e calcular sua acurácia. Observe que, como este é um problema de classificação binária, o modelo só consegue classificar uma resenha como positiva (1) ou negativa (0). Ele não é capaz de detectar resenhas neutras.
Caso não se lembre, os vetores BoW de treino e teste estão disponíveis como X_train_bow e X_test_bow, respectivamente. Os rótulos correspondentes estão disponíveis como y_train e y_test, respectivamente. Além disso, para sua referência, o conjunto de dados original de resenhas de filmes está disponível como df.
Este exercício faz parte do curso
Feature Engineering para NLP em Python
Instruções do exercício
- Instancie um objeto de
MultinomialNB. Dê a ele o nomeclf. - Treine
clfusandoX_train_bowey_train. - Meça a acurácia de
clfusandoX_test_bowey_test.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))