Predecir el sentimiento de una reseña de cine
En el ejercicio anterior, generaste las representaciones de bolsa de palabras para los datos de reseñas de cine de entrenamiento y de prueba. En este ejercicio, usaremos este modelo para entrenar un clasificador Naive Bayes que pueda detectar el sentimiento de una reseña y calcular su exactitud. Ten en cuenta que, como se trata de un problema de clasificación binaria, el modelo solo puede clasificar una reseña como positiva (1) o negativa (0). No es capaz de detectar reseñas neutrales.
Por si no lo recuerdas, los vectores BoW de entrenamiento y prueba están disponibles como X_train_bow y X_test_bow, respectivamente. Las etiquetas correspondientes están disponibles como y_train y y_test, respectivamente. Además, como referencia, el conjunto de datos original de reseñas de cine está disponible como df.
Este ejercicio forma parte del curso
Ingeniería de características para NLP en Python
Instrucciones del ejercicio
- Instancia un objeto de
MultinomialNB. Llámaloclf. - Ajusta
clfusandoX_train_bowyy_train. - Mide la exactitud de
clfusandoX_test_bowyy_test.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))