Kom igångKom igång gratis

Icke-negativ matrisnedbrytning

En matris kan ha två lika nära faktoriseringar – en där alla värden är positiva och en där vissa värden är negativa.

Matrisen M har faktoriserats på två olika sätt. Undersök varje par av faktormatriser, L och U respektive W och H, för att se skillnaderna. Beräkna sedan deras produkter för att kontrollera att de ger i princip samma resultat.

Den här övningen är en del av kursen

Bygg rekommendationsmotorer med PySpark

Visa kurs

Övningsinstruktioner

  • Använd print() för att visa matriserna L och U. Lägg märke till att vissa värden i matriserna L och U är negativa.
  • Använd print() för att visa matriserna W och H. Lägg märke till att alla värden i dessa två matriser är positiva.
  • Matriserna L och U respektive W och H har multiplicerats ihop för att producera matriserna LU och WH. Använd getRMSE(product_matrix, original_matrix) för att se hur nära LU är M jämfört med hur nära WH är M. Är de likartade?

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____, ____))
Redigera och kör kod