ฝึกโมเดลจำแนกข้อความสแปม
ขณะนี้ข้อมูล SMS ได้รับการเตรียมพร้อมสำหรับการสร้างโมเดลจำแนกประเภทแล้ว โดยขั้นตอนที่ผ่านมามีดังนี้
- ลบตัวเลขและเครื่องหมายวรรคตอน
- แยกข้อความออกเป็นคำ (หรือ "token")
- ลบ stop word
- ใช้เทคนิค hashing trick และ
- แปลงเป็นการแทนค่าแบบ TF-IDF
ขั้นตอนต่อไปคือการแบ่งข้อมูล TF-IDF ออกเป็นชุดฝึกและชุดทดสอบ จากนั้นนำข้อมูลชุดฝึกมาใช้ fit โมเดล Logistic Regression และประเมินประสิทธิภาพของโมเดลบนข้อมูลชุดทดสอบ
ข้อมูลถูกเก็บไว้ในตัวแปร sms และได้ import LogisticRegression ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with PySpark
คำแนะนำการฝึกหัด
- แบ่งข้อมูลออกเป็นชุดฝึกและชุดทดสอบในอัตราส่วน 4:1 โดยกำหนด seed ของตัวเลขสุ่มเป็น 13 เพื่อให้ได้ผลลัพธ์ที่ทำซ้ำได้
- สร้างออบเจกต์
LogisticRegressionและ fit กับข้อมูลชุดฝึก - สร้างการพยากรณ์บนข้อมูลชุดทดสอบ
- นำผลการพยากรณ์มาสร้าง confusion matrix
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Split the data into training and testing sets
sms_train, sms_test = sms.____(____, ____)
# Fit a Logistic Regression model to the training data
logistic = ____(regParam=0.2).____(____)
# Make predictions on the testing data
prediction = logistic.____(____)
# Create a confusion matrix, comparing predictions to known labels
prediction.groupBy(____, ____).____().____()