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
Övningsinstruktioner
- Använd
print()för att visa matrisernaLochU. Lägg märke till att vissa värden i matrisernaLochUär negativa. - Använd
print()för att visa matrisernaWochH. Lägg märke till att alla värden i dessa två matriser är positiva. - Matriserna
LochUrespektiveWochHhar multiplicerats ihop för att producera matrisernaLUochWH. AnvändgetRMSE(product_matrix, original_matrix)för att se hur näraLUärMjämfört med hur näraWHärM. Ä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(____, ____))