Niet-negatieve matrixfactorisatie
Het is mogelijk dat één matrix twee even goede factorisaties heeft, waarbij de ene alleen positieve waarden bevat en de andere ook enkele negatieve waarden.
De matrix M is twee keer gefactoriseerd met twee verschillende factorisaties. Bekijk elk paar factormatrices L en U, en W en H om de verschillen te zien. Gebruik daarna hun producten om te controleren dat ze in essentie hetzelfde product opleveren.
Deze oefening maakt deel uit van de cursus
Aanbevelingssystemen bouwen met PySpark
Oefeninstructies
- Gebruik
print()om de matricesLenUte bekijken. Let op dat sommige waarden inLenUnegatief zijn. - Gebruik
print()om de matricesWenHte bekijken. Let op dat alle waarden in deze twee matrices positief zijn. - De matrices
LenUenWenHzijn met elkaar vermenigvuldigd tot respectievelijk de matricesLUenWH. GebruikgetRMSE(product_matrix, original_matrix)om te zien hoe dichtLUbijMligt vergeleken met hoe dichtWHbijMligt. Lijken ze op elkaar?
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
# 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(____, ____))