영화 리뷰의 감성 예측
이전 연습 문제에서 학습용과 테스트용 영화 리뷰 데이터에 대한 bag-of-words 표현을 만들었어요. 이번 연습 문제에서는 이 표현을 사용해 영화 리뷰의 감성을 판별하는 Naive Bayes 분류기를 학습하고, 정확도를 계산해 보겠습니다. 이 문제는 이진 분류이므로, 모델은 리뷰를 긍정(1) 또는 부정(0)으로만 분류할 수 있으며, 중립 리뷰는 판별하지 못합니다.
기억을 돕기 위해 정리하면, 학습 및 테스트 BoW 벡터는 각각 X_train_bow, X_test_bow로 제공됩니다. 해당 레이블은 각각 y_train, y_test로 제공됩니다. 참고로, 원본 영화 리뷰 데이터셋은 df로 제공됩니다.
이 연습은 강의의 일부입니다
Python으로 배우는 NLP 피처 엔지니어링
연습 안내
MultinomialNB객체를 인스턴스화하고 이름을clf로 지정하세요.X_train_bow와y_train으로clf를 학습(fit)하세요.X_test_bow와y_test를 사용해clf의 정확도를 측정하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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))