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

สร้างโมเดล ALS

มาสร้างโมเดล ALS แรกกัน เติมโค้ดด้านล่างให้ครบเพื่อสร้างโมเดล ALS แรกของคุณ

ระลึกไว้ว่าสามารถใช้เมธอด .columns กับ DataFrame ratings เพื่อดูชื่อคอลัมน์ที่เก็บข้อมูลผู้ใช้ ภาพยนตร์ และคะแนน Spark จำเป็นต้องทราบชื่อคอลัมน์เหล่านี้เพื่อรัน ALS ได้อย่างถูกต้อง

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

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

ดูคอร์ส

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

  • ก่อนสร้างโมเดล ALS ต้องแบ่งข้อมูลออกเป็นชุด training และชุด test ใช้เมธอด randomSplit() เพื่อแบ่ง DataFrame ratings เป็น training_data และ test_data ในสัดส่วน 0.8/0.2 ตามลำดับ และกำหนด seed สำหรับตัวสร้างตัวเลขสุ่มเป็น 42
  • บอก Spark ว่าคอลัมน์ใดคือ userCol, itemCol และ ratingCol ใช้เมธอด .columns หากจำเป็น จากนั้นกำหนดค่าไฮเปอร์พารามิเตอร์ให้ครบ ได้แก่ ตั้งค่า rank เป็น 10, maxIter เป็น 15, regParam หรือ lambda เป็น .1, coldStartStrategy เป็น "drop", อาร์กิวเมนต์ nonnegative เป็น True และเนื่องจากข้อมูลเป็น explicit ratings ให้ตั้งค่า implicitPrefs เป็น False
  • Fit โมเดล als กับข้อมูล training_data โดยเรียกเมธอด als.fit() บน training_data ที่เตรียมไว้ ตั้งชื่อโมเดลที่ได้ว่า model
  • สร้างการทำนายบนชุดข้อมูล test_data โดยเรียกเมธอด model.transform() บน test_data ที่เตรียมไว้ ตั้งชื่อผลการทำนายว่า test_predictions และสามารถดูผลลัพธ์ได้โดยเรียกเมธอด .show() บน test_predictions

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

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

# Split the ratings dataframe into training and test data
(training_data, test_data) = ratings.____([____, ____], seed=42)

# Set the ALS hyperparameters
from pyspark.ml.recommendation import ALS
als = ALS(userCol="____", itemCol="____", ratingCol="____", rank =____, maxIter =____, regParam =____,
          coldStartStrategy="____", nonnegative =____, implicitPrefs = ____)

# Fit the mdoel to the training_data
____ = ____.fit(____)

# Generate predictions on the test_data
____ = ____.transform(____)
test_predictions.show()
แก้ไขและรันโค้ด