Nichtnegative Matrixfaktorisierung
Es kann vorkommen, dass eine Matrix zwei gleich gute Faktorisierungen hat: eine nur mit positiven Werten und eine mit einigen negativen Werten.
Die Matrix M wurde zweimal mit zwei unterschiedlichen Faktorisierungen zerlegt. Sieh dir die jeweiligen Faktormatrizen L und U sowie W und H an, um die Unterschiede zu erkennen. Verwende anschließend deren Produkte, um zu sehen, dass sie im Wesentlichen dasselbe Ergebnis liefern.
Diese Übung ist Teil des Kurses
<Kurs>Recommendation Engines mit PySpark erstellen</Kurs>Übungsanweisungen
- Verwende
print(), um die MatrizenLundUanzuzeigen. Achte darauf, dass einige Werte in den MatrizenLundUnegativ sind. - Verwende
print(), um die MatrizenWundHanzuzeigen. Achte darauf, dass alle Werte in diesen beiden Matrizen positiv sind. - Die Matrizen
LundUsowieWundHwurden jeweils multipliziert, um die MatrizenLUbzw.WHzu erzeugen. VerwendegetRMSE(product_matrix, original_matrix), um zu sehen, wie nahLUanMliegt, verglichen damit, wie nahWHanMliegt. Sind die Ergebnisse ähnlich?
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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(____, ____))