Kom igångKom igång gratis

Förutsäg sentimentet i en filmrecension

I föregående övning skapade du bag-of-words-representationer för tränings- och testdata med filmrecensioner. I den här övningen använder vi den modellen för att träna en Naïve Bayes-klassificerare som kan avgöra sentimentet i en filmrecension och beräkna dess noggrannhet. Eftersom det här är ett binärt klassificeringsproblem kan modellen bara klassificera en recension som antingen positiv (1) eller negativ (0) – den kan inte hantera neutrala recensioner.

Om du behöver en påminnelse: tränings- och test-BoW-vektorerna finns tillgängliga som X_train_bow respektive X_test_bow. Motsvarande etiketter finns som y_train respektive y_test. Den ursprungliga datamängden med filmrecensioner finns tillgänglig som df.

Den här övningen är en del av kursen

Funktionsutveckling för NLP i Python

Visa kurs

Övningsinstruktioner

  • Skapa ett objekt av MultinomialNB. Döp det till clf.
  • Träna clf med hjälp av X_train_bow och y_train.
  • Mät noggrannheten hos clf med hjälp av X_test_bow och y_test.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod