สร้างชุดข้อมูล test/train และสร้างโมเดล ALS
คุณรู้จักวิธีสร้างโมเดล ALS แล้วจากบทที่ผ่านมา ในบทนี้เราจะทำสิ่งเดิมอีกครั้ง แต่จะเพิ่มขั้นตอนเพื่อสร้างโมเดลที่ผ่านการ cross-validation อย่างสมบูรณ์
เริ่มต้นด้วยการ import ฟังก์ชันที่จำเป็น และสร้างชุดข้อมูล train และ test เพื่อเตรียมพร้อมสำหรับขั้นตอน cross validation
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- Import
RegressionEvaluatorจากml.evaluation, อัลกอริทึมALSจากml.recommendationและParamGridBuilderกับCrossValidatorจากml.tuning - แบ่งชุดข้อมูล
ratingsเป็น train/test ในสัดส่วน 80/20 โดยใช้เมธอดrandomSplitตั้งชื่อชุดข้อมูลว่าtrainและtestและกำหนด random seed เป็น1234 - สร้างโมเดล ALS โดยระบุชื่อคอลัมน์ใน dataframe
ratingsที่ตรงกับuserCol,itemColและratingColตั้งค่าอาร์กิวเมนต์nonnegativeเป็นTrue,coldStartStrategyเป็น"drop"และกำหนดimplicitPrefsเป็นFalseเพื่อระบุว่าไม่ใช่ข้อมูลแบบ implicit จากนั้นตั้งชื่อโมเดลนี้ว่าals - ตรวจสอบว่าสร้างโมเดลสำเร็จโดยเรียกฟังก์ชัน
type()บนalsผลลัพธ์ที่ได้จะแสดงประเภทของโมเดล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____
# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)
# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)
# Confirm that a model called "als" was created
type(____)