मूवी रिव्यू का सेंटिमेंट प्रेडिक्ट करना
पिछले अभ्यास में, आपने ट्रेनिंग और टेस्ट मूवी रिव्यू डेटा के लिए bag-of-words रिप्रेजेंटेशन जनरेट किए थे. इस अभ्यास में, हम इसी मॉडल का उपयोग करके एक Naive Bayes क्लासिफ़ायर ट्रेन करेंगे, जो मूवी रिव्यू का सेंटिमेंट पहचान सके, और इसकी accuracy निकालेंगे. ध्यान दें कि यह एक बाइनरी क्लासिफ़िकेशन समस्या है, इसलिए मॉडल सिर्फ दो श्रेणियों में वर्गीकृत कर सकता है: पॉज़िटिव (1) या नेगेटिव (0). यह न्यूट्रल रिव्यू पहचानने में सक्षम नहीं है.
यदि आपको याद न हो, तो ट्रेनिंग और टेस्ट BoW वेक्टर क्रमशः X_train_bow और X_test_bow के रूप में उपलब्ध हैं. इनके संबंधित लेबल क्रमशः y_train और y_test में हैं. साथ ही, आपके संदर्भ के लिए, मूल मूवी रिव्यू डेटासेट df के रूप में उपलब्ध है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में NLP के लिए Feature Engineering
अभ्यास निर्देश
MultinomialNBका एक ऑब्जेक्ट बनाएँ. इसका नामclfरखें.X_train_bowऔरy_trainका उपयोग करकेclfको fit करें.X_test_bowऔरy_testके साथclfकी accuracy मापें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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))