開始使用免費開始

非負矩陣分解

同一個矩陣有時可能會有兩種同樣接近的分解,其中一種所有值都為正,另一種則包含一些負值。

矩陣 M 已分別用兩種不同的方式做了分解。請查看兩組分解矩陣 LU、以及 WH 的差異。接著計算它們的乘積,觀察是否得到幾乎相同的結果。

本練習屬於課程

使用 PySpark 打造推薦引擎

檢視課程

練習說明

  • 使用 print() 檢視矩陣 LU。注意在 LU 中有些值是負的。
  • 使用 print() 檢視矩陣 WH。注意這兩個矩陣中的所有值都是正的。
  • 已將 LU、以及 WH 分別相乘得到 LUWH 矩陣。使用 getRMSE(product_matrix, original_matrix) 比較 LUM 的接近程度,以及 WHM 的接近程度。它們是否相近?

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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(____, ____))
編輯並執行程式碼