Prezicerea sentimentului unei recenzii de film
În exercițiul anterior, ai generat reprezentările bag-of-words pentru datele de antrenament și de testare ale recenziilor de film. În acest exercițiu, vom folosi acest model pentru a antrena un clasificator Naive Bayes capabil să detecteze sentimentul unei recenzii de film și să calculeze acuratețea sa. Reține că, deoarece aceasta este o problemă de clasificare binară, modelul poate clasifica o recenzie doar ca pozitivă (1) sau negativă (0). Nu poate detecta recenzii neutre.
Dacă nu îți amintești, vectorii BoW pentru antrenament și testare sunt disponibili ca X_train_bow, respectiv X_test_bow. Etichetele corespunzătoare sunt disponibile ca y_train, respectiv y_test. De asemenea, pentru referință, setul de date original cu recenzii de film este disponibil ca df.
Acest exercițiu face parte din cursul
Ingineria caracteristicilor pentru NLP în Python
Instrucțiuni pentru exercițiu
- Instanțiază un obiect de tip
MultinomialNB. Denumește-lclf. - Antrenează
clffolosindX_train_bowșiy_train. - Măsoară acuratețea lui
clffolosindX_test_bowșiy_test.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))