Невід'ємна матрична факторизація
Можлива ситуація, коли одна й та сама матриця має дві однаково точні факторизації: одна з усіма додатними значеннями, а інша — з деякими від'ємними.
Матрицю M розкладено двічі за допомогою двох різних факторизацій. Перегляньте кожну пару матриць-факторів L і U, а також W і H, щоб побачити відмінності. Потім перемножте їх і переконайтеся, що вони дають майже однаковий добуток.
Ця вправа є частиною курсу
Створення рушіїв рекомендацій у PySpark
Інструкції до вправи
- Використайте
print(), щоб переглянути матриціLіU. Зверніть увагу, що деякі значення в матрицяхLіUє від'ємними. - Використайте
print(), щоб переглянути матриціWіH. Зверніть увагу, що всі значення в цих двох матрицях додатні. - Матриці
LіU, а такожWіHуже перемножені, утворивши відповідно матриціLUіWH. ВикористайтеgetRMSE(product_matrix, original_matrix), щоб оцінити, наскількиLUблизька доMу порівнянні з тим, наскількиWHблизька доM. Вони подібні?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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(____, ____))