Factorisation en matrices non négatives
Il est possible qu’une matrice admette deux factorisations tout aussi proches, dont l’une ne contient que des valeurs positives et l’autre comporte certaines valeurs négatives.
La matrice M a été factorisée deux fois à l’aide de deux factorisations différentes. Examinez chaque paire de matrices de facteurs L et U, ainsi que W et H, pour observer les différences. Ensuite, utilisez leurs produits pour constater qu’ils donnent essentiellement le même résultat.
Cet exercice fait partie du cours
<cours>Créer des moteurs de recommandation avec PySpark</cours>Instructions de l’exercice
- Utilisez
print()pour afficher les matricesLetU. Remarquez que certaines valeurs dans les matricesLetUsont négatives. - Utilisez
print()pour afficher les matricesWetH. Remarquez que toutes les valeurs dans ces deux matrices sont positives. - Les matrices
LetU, ainsi queWetH, ont été multipliées pour produire respectivement les matricesLUetWH. UtilisezgetRMSE(product_matrix, original_matrix)pour évaluer à quel pointLUest proche deMpar rapport àWH. Sont-elles similaires ?
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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(____, ____))