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

การทำนายแบบ Binary

ในแบบฝึกหัดก่อนหน้า คุณได้ใช้ฟังก์ชัน glm() เพื่อสร้างโมเดล logistic regression สำหรับพฤติกรรมของผู้บริจาค เช่นเดียวกับวิธี machine learning อื่น ๆ ใน R คุณสามารถใช้ฟังก์ชัน predict() กับออบเจ็กต์โมเดลเพื่อพยากรณ์พฤติกรรมในอนาคตได้ โดยค่าเริ่มต้น predict() จะแสดงผลลัพธ์ในรูปแบบ log odds เว้นแต่จะระบุ type = "response" ซึ่งจะแปลง log odds เป็น ค่าความน่าจะเป็น

เนื่องจากโมเดล logistic regression ประมาณ ความน่าจะเป็น ของผลลัพธ์ คุณจึงต้องกำหนดเกณฑ์ที่เหมาะสมสำหรับการตัดสินใจดำเนินการ ต้องหาจุดสมดุลระหว่างความระมัดระวังมากเกินไปกับความเชิงรุกมากเกินไป ตัวอย่างเช่น หากติดต่อเฉพาะผู้ที่มีความน่าจะเป็นในการบริจาค 99% ขึ้นไป ก็อาจพลาดผู้ที่มีความน่าจะเป็นต่ำกว่าแต่ยังคงบริจาคอยู่ ความสมดุลนี้สำคัญอย่างยิ่งในกรณีที่ผลลัพธ์ไม่สมดุลอย่างมาก เช่น ในชุดข้อมูลนี้ที่การบริจาคเกิดขึ้นค่อนข้างน้อย

ชุดข้อมูล donors และโมเดล donation_model พร้อมให้ใช้งานแล้ว

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

Supervised Learning in R: Classification

ดูคอร์ส

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

  • ใช้ฟังก์ชัน predict() เพื่อประมาณความน่าจะเป็นในการบริจาคของแต่ละคน โดยใช้อาร์กิวเมนต์ type เพื่อให้ได้ค่าความน่าจะเป็น แล้วกำหนดผลการพยากรณ์ไปยังคอลัมน์ใหม่ชื่อ donation_prob
  • หาความน่าจะเป็นจริงที่คนทั่วไปจะบริจาค โดยส่งคอลัมน์ที่เหมาะสมของ data frame donors ให้กับฟังก์ชัน mean()
  • ใช้ ifelse() เพื่อทำนายการบริจาค เมื่อความน่าจะเป็นในการบริจาคที่คาดการณ์ไว้สูงกว่าค่าเฉลี่ย แล้วกำหนดผลการพยากรณ์ไปยังคอลัมน์ใหม่ชื่อ donation_pred
  • ใช้ฟังก์ชัน mean() เพื่อคำนวณความแม่นยำของโมเดล

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

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

# Estimate the donation probability
donors$donation_prob <- predict(___, type = "___")

# Find the donation probability of the average prospect
mean(___)

# Predict a donation if probability of donation is greater than average (0.0504)
donors$donation_pred <- ifelse(___ > 0.0504, ___, ___)

# Calculate the model's accuracy
mean(___ == ___)
แก้ไขและรันโค้ด