Nezáporná maticová faktorizace
Jedna matice může mít dvě stejně přesné faktorizace – jednu s kladnými hodnotami a druhou s některými zápornými hodnotami.
Matice M byla dvakrát rozložena pomocí dvou různých faktorizací. Prohlédni si každý pár faktorových matic L a U a W a H a porovnej jejich rozdíly. Pak pomocí jejich součinů ověř, že výsledek je v obou případech prakticky stejný.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů s PySparkem
Pokyny k cvičení
- Pomocí
print()si zobraz maticeLaU. Všimni si, že některé hodnoty v maticíchLaUjsou záporné. - Pomocí
print()si zobraz maticeWaH. Všimni si, že všechny hodnoty v těchto dvou maticích jsou kladné. - Matice
LaUa maticeWaHbyly vynásobeny, čímž vznikly maticeLUaWH. PomocígetRMSE(product_matrix, original_matrix)zjisti, jak blízko jeLUkMv porovnání s tím, jak blízko jeWHkM. Jsou si podobné?
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____, ____))