Nieujemna faktoryzacja macierzy
Jedna macierz może mieć dwie równie dobre faktoryzacje – jedną z samymi wartościami dodatnimi i drugą zawierającą wartości ujemne.
Macierz M została rozłożona na czynniki na dwa różne sposoby. Przyjrzyj się obu parom macierzy czynnikowych: L i U oraz W i H, i zwróć uwagę na różnice. Następnie sprawdź ich iloczyny – zobaczysz, że dają praktycznie taki sam wynik.
To ćwiczenie jest częścią kursu
Budowanie silników rekomendacji w PySpark
Instrukcje do ćwiczenia
- Użyj
print(), aby wyświetlić macierzeLiU. Zwróć uwagę, że niektóre wartości w tych macierzach są ujemne. - Użyj
print(), aby wyświetlić macierzeWiH. Zwróć uwagę, że wszystkie wartości w tych dwóch macierzach są dodatnie. - Macierze
LiUorazWiHzostały przemnożone, tworząc odpowiednio macierzeLUiWH. Użyj funkcjigetRMSE(product_matrix, original_matrix), aby sprawdzić, jak bliskoMznajduje sięLUw porównaniu zWH. Czy wyniki są podobne?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____, ____))