ПочатиПочніть безкоштовно

Невід'ємна матрична факторизація

Можлива ситуація, коли одна й та сама матриця має дві однаково точні факторизації: одна з усіма додатними значеннями, а інша — з деякими від'ємними.

Матрицю 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(____, ____))
Редагувати та запускати код