簡體   English   中英

如何在經過訓練的SVD模型上驗證測試集?

[英]How to validate Test set on trained SVD model?

我下面就矩陣分解本教程中使用奇異值分解在Python電影推薦(SVD): 這里

使用SVD ,使用SVD將數據集近似為三個分量:

M ≈ U ⋅ S ⋅ Vt

  • 因此,您從左側(M)轉到三個部分,然后再次返回,
  • 現在您可以使用大約。
  • M作為推薦矩陣。

現在,我想在此矩陣上使用訓練/測試驗證集,因為您需要找到M的最佳k(數字)近似值。

如何將一個單獨的測試集應用到經過訓練的模型上,以獲得對看不見的測試集的預測? 這是什么數學/算法 謝謝

擬合任何機器學習模型的標准過程如下:

  • 您將數據集隨機分為三部分:訓練集(數據的60%),驗證集(數據的20%),測試集(20%)。
  • 使用火車數據來訓練任何模型
  • 您可以使用驗證集選擇超參數並在不同模型中選擇最佳參數
  • 您可以在測試集上評估模型,以了解模型如何在新的看不見的數據上執行

因此,在您的情況下,您應該執行以下步驟:

  • 將數據集分為這三個部分(如果您使用的是sklearn,則可以按此處使用train_test_split
  • 您可以使用不同的k值運行SVD,並在驗證集上評估這些近似值的性能,然后選擇具有最低RMSE值的k (如本教程所述)
  • 將所選模型應用於測試集,以查看其如何處理看不見的數據

如果您的數據集較小,而不是拆分為3個數據集,則可以拆分以進行訓練和測試,並使用交叉驗證k進行微調。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM