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

เพิ่มค่าศูนย์

เครื่องมือแนะนำหลายตัวใช้ค่าเรตติ้งแบบ implicit ในหลายกรณี ชุดข้อมูลเหล่านี้จะไม่มีจำนวนพฤติกรรมสำหรับสินค้าที่ผู้ใช้ไม่เคยซื้อมาก่อน จึงต้องเพิ่มแถวเหล่านั้นเข้าไปและกำหนดค่าเป็นศูนย์ DataFrame Z ถูกเตรียมไว้ให้แล้ว โดยมีคอลัมน์ userId, productId และ num_purchases ซึ่งคือจำนวนครั้งที่ผู้ใช้ซื้อสินค้านั้น ๆ

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

การสร้าง Recommendation Engines ด้วย PySpark

ดูคอร์ส

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

  • ดูข้อมูลใน DataFrame Z โดยใช้เมธอด .show()
  • ดึงค่า userId และ productId ที่ไม่ซ้ำกันออกจาก Z โดยใช้เมธอด .distinct() แล้วเก็บผลลัพธ์ไว้ในตัวแปร users และ products ตามลำดับ
  • ใช้ .crossJoin() กับ DataFrame users และ products แล้วเก็บผลลัพธ์ไว้ในตัวแปร cj
  • Join cj กับ DataFrame เรตติ้งเดิม Z แบบ "left" โดยใช้คอลัมน์ ["userId", "productId"] จากนั้นเรียก .fillna(0) กับผลลัพธ์เพื่อแทนที่ค่าว่างด้วยศูนย์ แล้วเก็บผลลัพธ์ไว้ในตัวแปร Z_expanded

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

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

# View the data
Z.____()

# Extract distinct userIds and productIds
users = ____.select("____").____()
products = Z.____("productId").____()

# Cross join users and products
____ = users.____(products)

# Join cj and Z
____ = cj.join(Z, ["____", "____"], "left").____(0)

# View Z_expanded
____.show()
แก้ไขและรันโค้ด