CommencerCommencez gratuitement

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>
Voir le cours

Instructions de l’exercice

  • Utilisez print() pour afficher les matrices L et U. Remarquez que certaines valeurs dans les matrices L et U sont négatives.
  • Utilisez print() pour afficher les matrices W et H. Remarquez que toutes les valeurs dans ces deux matrices sont positives.
  • Les matrices L et U, ainsi que W et H, ont été multipliées pour produire respectivement les matrices LU et WH. Utilisez getRMSE(product_matrix, original_matrix) pour évaluer à quel point LU est proche de M par 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(____, ____))
Modifier et exécuter le code