Fattorizzazione in matrici non negative
È possibile che una matrice abbia due fattorizzazioni ugualmente vicine, dove una ha tutti valori positivi e l’altra contiene alcuni valori negativi.
La matrice M è stata fattorizzata due volte usando due diverse fattorizzazioni. Osserva ciascuna coppia di matrici fattore L e U, e W e H per coglierne le differenze. Poi usa i loro prodotti per verificare che generano sostanzialmente lo stesso risultato.
Questo esercizio fa parte del corso
Costruire motori di raccomandazione con PySpark
Istruzioni dell'esercizio
- Usa
print()per visualizzare le matriciLeU. Nota che alcuni valori nelle matriciLeUsono negativi. - Usa
print()per visualizzare le matriciWeH. Nota che tutti i valori in queste due matrici sono positivi. - Le matrici
LeUeWeHsono state moltiplicate per ottenere rispettivamente le matriciLUeWH. UsagetRMSE(product_matrix, original_matrix)per vedere quantoLUè vicino aMrispetto a quantoWHè vicino aM. Sono simili?
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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(____, ____))