Die Stimmung einer Filmkritik vorhersagen
In der vorherigen Übung hast du die Bag-of-Words-Darstellungen für die Trainings- und Testdaten der Filmkritiken erzeugt. In dieser Übung verwenden wir dieses Modell, um einen Naive-Bayes-Klassifikator zu trainieren, der die Stimmung einer Filmkritik erkennen kann, und berechnen seine Genauigkeit. Beachte: Da es sich um ein binäres Klassifizierungsproblem handelt, kann das Modell eine Kritik nur als positiv (1) oder negativ (0) klassifizieren. Neutrale Kritiken kann es nicht erkennen.
Falls du es nicht mehr parat hast: Die BoW-Vektoren für Training und Test sind als X_train_bow bzw. X_test_bow verfügbar. Die entsprechenden Labels findest du als y_train bzw. y_test. Außerdem steht dir zur Orientierung der ursprüngliche Datensatz der Filmkritiken als df zur Verfügung.
Diese Übung ist Teil des Kurses
<Kurs>Feature Engineering für NLP in Python</Kurs>Übungsanweisungen
- Erzeuge ein Objekt von
MultinomialNBund nenne esclf. - Fitte
clfmitX_train_bowundy_train. - Miss die Genauigkeit von
clfmitX_test_bowundy_test.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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))