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

การคำนวณ 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
แก้ไขและรันโค้ด