SMS spam ที่ปรับให้เหมาะสมแล้ว
pipeline ที่สร้างไว้สำหรับโมเดลตรวจจับ SMS spam ใช้พารามิเตอร์ค่าเริ่มต้นสำหรับทุกองค์ประกอบใน pipeline ซึ่งค่าเหล่านี้อาจไม่ได้ให้โมเดลที่ดีที่สุดเสมอไป ในแบบฝึกหัดนี้เราจะรัน pipeline ด้วยชุดค่าพารามิเตอร์ที่หลากหลายอย่างเป็นระบบ โดยกำหนดค่าของแต่ละ hyperparameter บนกริด แล้วให้ pipeline ทำงานครอบคลุมทุกจุดบนกริดนั้น
ในแบบฝึกหัดนี้ คุณจะตั้งค่ากริดพารามิเตอร์ เพื่อนำไปใช้ร่วมกับ cross-validation ในการเลือกชุดพารามิเตอร์ที่ดีที่สุดสำหรับตัวจำแนก SMS spam
ตัวแปรต่อไปนี้ถูกกำหนดไว้แล้ว:
hasher— อ็อบเจกต์HashingTFและlogistic— อ็อบเจกต์LogisticRegression
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Machine Learning with PySpark
คำแนะนำการฝึกหัด
- สร้างอ็อบเจกต์ parameter grid builder
- เพิ่มจุดกริดสำหรับพารามิเตอร์
numFeaturesและbinaryให้กับอ็อบเจกต์HashingTFโดยกำหนดค่าเป็น 1024, 4096 และ 16384 และ True กับ False ตามลำดับ - เพิ่มจุดกริดสำหรับพารามิเตอร์
regParamและelasticNetParamให้กับอ็อบเจกต์LogisticRegressionโดยกำหนดค่าเป็น 0.01, 0.1, 1.0 และ 10.0 และ 0.0, 0.5 และ 1.0 ตามลำดับ - สร้าง parameter grid
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create parameter grid
params = ____()
# Add grid for hashing trick parameters
params = params.____(____, ____) \
.____(____, ____)
# Add grid for logistic regression parameters
params = params.____(____, ____) \
.____(____, ____)
# Build parameter grid
params = ____.____()