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

ฝึก Logistic Regression Model

เมื่อแบ่งชุดข้อมูลเป็น training set และ test set แล้ว ให้ฝึก logistic regression model กับ training set โดยใช้ฟังก์ชัน glm() ซึ่งเป็นเวอร์ชันขั้นสูงของ lm() ที่รองรับ regression model หลายประเภท ไม่ใช่แค่ ordinary least squares regression แบบพื้นฐาน

อย่าลืมระบุ argument family = "binomial" ใน glm() เพื่อบอกว่าต้องการทำ logistic regression (ไม่ใช่ linear regression) ตัวอย่างเช่น:

glm(Target ~ ., family = "binomial", dataset)

หากพบ warning เช่น glm.fit: algorithm did not converge หรือ glm.fit: fitted probabilities numerically 0 or 1 occurred ไม่ต้องกังวล เพราะ warning เหล่านี้พบบ่อยในชุดข้อมูลขนาดเล็ก และมักไม่ก่อให้เกิดปัญหาใดๆ โดยทั่วไปหมายความว่าชุดข้อมูลของคุณ แยกออกจากกันได้อย่างสมบูรณ์ (perfectly separable) ซึ่งอาจส่งผลต่อการคำนวณทางคณิตศาสตร์ของโมเดล แต่ฟังก์ชัน glm() ของ R มักจัดการกรณีนี้ได้โดยไม่มีปัญหา

เมื่อฝึกโมเดล glm() กับชุดข้อมูลแล้ว สามารถพยากรณ์ผลลัพธ์ (เช่น หิน หรือ กับระเบิด) บน test set ได้โดยใช้ฟังก์ชัน predict() พร้อม argument type = "response":

predict(my_model, test, type = "response")

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

Machine Learning ด้วย caret ใน R

ดูคอร์ส

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

  • ฝึก logistic regression model ชื่อ model เพื่อพยากรณ์ Class โดยใช้ตัวแปรอื่นทั้งหมดเป็น predictor ใช้ training set ของ Sonar
  • พยากรณ์บน test set ด้วยโมเดลที่ฝึกไว้ แล้วเก็บผลลัพธ์ไว้ในตัวแปร p เหมือนเดิม

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Fit glm model: model


# Predict on test: p
แก้ไขและรันโค้ด