Прогнозування сентименту рецензії на фільм
У попередній вправі ви згенерували bag-of-words подання для тренувальних і тестових рецензій на фільми. У цій вправі ми використаємо цю модель, щоб натренувати класифікатор Наївного Байєса, який може визначати сентимент рецензії, і обчислити його точність. Зауважте, що оскільки це задача бінарної класифікації, модель здатна відносити рецензію лише до позитивних (1) або негативних (0). Вона не вміє виявляти нейтральні рецензії.
Якщо ви не пам'ятаєте, тренувальні й тестові BoW-вектори доступні як 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))