เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การทำนาย Sentiment ของรีวิวภาพยนตร์

ในแบบฝึกหัดก่อนหน้า เราได้สร้าง bag-of-words representation สำหรับข้อมูลรีวิวภาพยนตร์ชุด training และ test แล้ว ในแบบฝึกหัดนี้ เราจะนำโมเดลดังกล่าวมาใช้ฝึก Naive Bayes classifier เพื่อตรวจจับ sentiment ของรีวิวภาพยนตร์ และคำนวณความแม่นยำของโมเดล โปรดทราบว่านี่เป็นปัญหา binary classification ดังนั้นโมเดลจึงสามารถจำแนกรีวิวได้เพียงสองประเภท คือ เชิงบวก (1) หรือเชิงลบ (0) เท่านั้น และไม่สามารถตรวจจับรีวิวที่เป็นกลางได้

สำหรับข้อมูลอ้างอิง เวกเตอร์ BoW ของชุด training และ test มีอยู่ในตัวแปร X_train_bow และ X_test_bow ตามลำดับ ส่วน label ที่สอดคล้องกันอยู่ในตัวแปร y_train และ y_test ตามลำดับ นอกจากนี้ ชุดข้อมูลรีวิวภาพยนตร์ต้นฉบับยังคงอยู่ในตัวแปร df

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Feature Engineering for NLP in Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • สร้างออบเจ็กต์จาก MultinomialNB แล้วตั้งชื่อว่า clf
  • Fit 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))
แก้ไขและรันโค้ด