НачатьНачать бесплатно

Предсказание тональности рецензии на фильм

В предыдущем упражнении вы сформировали векторные представления «мешка слов» для обучающих и тестовых рецензий. В этом упражнении мы воспользуемся этой моделью, чтобы обучить классификатор на основе наивного байесовского метода, способный определять тональность рецензии и оценивать его точность. Обратите внимание: поскольку это задача бинарной классификации, модель может отнести рецензию только к одному из двух классов — положительная (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))
Редактировать и запускать код