Предсказание тональности рецензии на фильм
В предыдущем упражнении вы сформировали векторные представления «мешка слов» для обучающих и тестовых рецензий. В этом упражнении мы воспользуемся этой моделью, чтобы обучить классификатор на основе наивного байесовского метода, способный определять тональность рецензии и оценивать его точность. Обратите внимание: поскольку это задача бинарной классификации, модель может отнести рецензию только к одному из двух классов — положительная (1) или отрицательная (0). Определять нейтральные рецензии она не умеет.
Напомним, что обучающие и тестовые векторы «мешка слов» доступны как X_train_bow и X_test_bow соответственно. Соответствующие метки хранятся в переменных y_train и y_test. Исходный набор данных с рецензиями на фильмы доступен как df.
Это упражнение является частью курса
Конструирование признаков для NLP на Python
Инструкции к упражнению
- Создайте объект класса
MultinomialNBи назовите егоclf. - Обучите
clf, передавX_train_bowиy_train. - Оцените точность
clfс помощьюX_test_bowиy_test.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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))