การแยกตัวประกอบเมทริกซ์แบบไม่ติดลบ
เมทริกซ์หนึ่งตัวอาจมีการแยกตัวประกอบที่ใกล้เคียงกันสองแบบ โดยแบบหนึ่งมีแต่ค่าบวก ส่วนอีกแบบมีค่าติดลบบางส่วน
เมทริกซ์ M ถูกแยกตัวประกอบสองครั้งด้วยวิธีที่แตกต่างกัน ลองดูคู่ของเมทริกซ์ตัวประกอบแต่ละคู่ ได้แก่ L กับ U และ W กับ H เพื่อสังเกตความแตกต่าง จากนั้นใช้ผลคูณของแต่ละคู่เพื่อยืนยันว่าทั้งสองให้ผลลัพธ์ที่ใกล้เคียงกันโดยพื้นฐาน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การสร้าง Recommendation Engines ด้วย PySpark
คำแนะนำการฝึกหัด
- ใช้
print()เพื่อดูเมทริกซ์LและUสังเกตว่าบางค่าในเมทริกซ์LและUมีค่าติดลบ - ใช้
print()เพื่อดูเมทริกซ์WและHสังเกตว่าทุกค่าในเมทริกซ์ทั้งสองนี้เป็นบวกทั้งหมด - เมทริกซ์
LกับUและเมทริกซ์WกับHถูกคูณกันเพื่อสร้างเมทริกซ์LUและWHตามลำดับ ใช้getRMSE(product_matrix, original_matrix)เพื่อดูว่าLUใกล้เคียงกับMมากน้อยเพียงใด เมื่อเทียบกับWHทั้งสองมีค่าใกล้เคียงกันหรือไม่?
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# View the L, U, W, and H matrices.
print("Matrices L and U:")
print(____)
print(____)
print("Matrices W and H:")
print(____)
print(____)
# Calculate RMSE between LU and M
print("RMSE of LU: ", getRMSE(____, ____))
# Calculate RMSE between WH and M
print("RMSE of WH: ", getRMSE(____, ____))