การคำนวณ conviction ด้วยฟังก์ชัน
หลังจากที่โปรเจกต์ทดลองของคุณประสบความสำเร็จ ผู้ก่อตั้งสตาร์ทอัพ e-book ก็ตัดสินใจว่าจ้างให้ทำโปรเจกต์ที่ใหญ่ขึ้นมาก เธอถามว่าคุณสามารถคำนวณค่า conviction สำหรับหนังสือทุกคู่ในชุดข้อมูล goodreads-10k ได้หรือไม่ เพื่อที่เธอจะนำข้อมูลนั้นไปตัดสินใจว่าควรจัดวางหนังสือเล่มใดไว้ใกล้กันบนเว็บไซต์
คุณรับงานนี้ แต่ก็ตระหนักว่าต้องการวิธีที่มีประสิทธิภาพมากกว่านี้ในการคำนวณ conviction เนื่องจากต้องคำนวณหลายครั้ง จึงตัดสินใจเขียนฟังก์ชันขึ้นมาสำหรับงานนี้โดยเฉพาะ ฟังก์ชันนี้จะรับคอลัมน์สองคอลัมน์จาก DataFrame ของ pandas เป็น input ได้แก่ antecedent และ consequent แล้วคืนค่า conviction metric เป็น output โดย pandas พร้อมใช้งานในชื่อ pd และ numpy พร้อมใช้งานในชื่อ np
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Market Basket Analysis ด้วย Python
คำแนะนำการฝึกหัด
- คำนวณค่า support ของ antecedent แล้วกำหนดให้กับตัวแปร
supportA - คำนวณค่า support ของ NOT consequent
- คำนวณค่า support ของ antecedent และ NOT consequent
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def conviction(antecedent, consequent):
# Compute support for antecedent AND consequent
supportAC = np.logical_and(antecedent, consequent).mean()
# Compute support for antecedent
supportA = ____.____()
# Compute support for NOT consequent
supportnC = 1.0 - ____.____()
# Compute support for antecedent and NOT consequent
supportAnC = ____ - supportAC
# Return conviction
return supportA * supportnC / supportAnC