การวิเคราะห์ความรู้สึกด้วย GBM
ลองใช้ GradientBoostingClassifier ของ scikit-learn กับชุดข้อมูล reviews เพื่อพยากรณ์ความรู้สึก (sentiment) ของรีวิวจากข้อความ
เราจะไม่ป้อนข้อความดิบเข้าโมเดลโดยตรง แต่มีการเตรียมข้อมูลล่วงหน้าให้แล้วดังนี้:
- ลบรีวิวที่มีค่าว่างออก
- คัดเลือกข้อมูลจาก 5 แอปยอดนิยม
- สุ่มตัวอย่างรีวิวจำนวน 500 รายการ
- ลบ "stop words" ออกจากรีวิว
- แปลงรีวิวให้เป็นเมทริกซ์ โดยแต่ละฟีเจอร์แทนความถี่ของคำในรีวิวนั้น
อยากเข้าใจ text mining ให้ลึกยิ่งขึ้นหรือเปล่า? ไปดูคอร์ส Introduction to Natural Language Processing in Python ได้เลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Ensemble Methods ใน Python
คำแนะนำการฝึกหัด
- สร้าง
GradientBoostingClassifierที่มี100estimators และ learning rate เท่ากับ0.1 - คำนวณค่าพยากรณ์บนชุดทดสอบ
- คำนวณค่าความแม่นยำเพื่อประเมินโมเดล
- คำนวณและแสดง confusion matrix
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Build and fit a Gradient Boosting classifier
clf_gbm = ____(____, ____, random_state=500)
clf_gbm.fit(X_train, y_train)
# Calculate the predictions on the test set
pred = ____
# Evaluate the performance based on the accuracy
acc = ____
print('Accuracy: {:.3f}'.format(acc))
# Get and show the Confusion Matrix
cm = ____
print(cm)