分數 SVD 推薦
本文說明如何在 Azure 機器學習 設計工具中使用評分 SVD 建議工具元件。 使用此元件,根據單一值分解 (SVD) 演算法使用定型的建議模型來建立預測。
SVD 建議工具可以產生兩種不同的預測:
當您建立第二種類型的預測時,您可以使用下列其中一種模式運作:
生產模式 會考慮所有使用者或專案。 它通常用於 Web 服務。
您可以為新使用者建立分數,而不只是訓練期間看到的使用者。 如需詳細資訊,請參閱 技術注意事項。
評估模式 會在一組可評估的使用者或項目上運作。 它通常會在管線作業期間使用。
如需 SVD 推薦演算法的詳細資訊,請參閱推薦系統的研究論文矩陣分解技術。
如何設定分數 SVD 建議工具
此元件支援兩種類型的預測,每個類型都有不同的需求。
評等的預測
當您預測評等時,模型會根據定型數據,計算使用者對特定項目的反應。 評分的輸入數據必須同時提供使用者和要評分的專案。
將定型的建議模型新增至您的管線,並將其連線至 已定型的SVD建議工具。 您必須使用 定型 SVD 建議程式 元件來建立模型。
針對 [ 推薦預測種類],選取 [ 評等預測]。 不需要其他參數。
新增您要進行預測的數據,並將其連線至 數據集以評分。
若要讓模型預測評等,輸入數據集必須包含用戶專案組。
數據集可以包含第一個和第二個數據行中用戶專案組的選擇性第三個評等數據行。 但在預測期間會忽略第三個數據行。
提交管線。
評分預測的結果
輸出數據集包含三個數據行:使用者、專案,以及每個輸入使用者和專案的預測評等。
用戶的建議
若要建議使用者的專案,您可以提供使用者和專案清單作為輸入。 在此數據中,模型會使用現有專案和用戶的知識來產生可能吸引每個用戶的項目清單。 您可以自定義傳回的建議數目。 而且您可以為產生建議所需的先前建議數目設定臨界值。
將定型的建議模型新增至您的管線,並將其連線至 已定型的SVD建議工具。 您必須使用 定型 SVD 建議程式 元件來建立模型。
若要建議使用者清單的專案,請將 [推薦預測類型] 設定為 [項目建議]。
針對 [建議的項目選取],指出您是否在生產環境或模型評估中使用評分元件。 選擇下列其中一個值:
從 [所有專案]:如果您要設定管線以在 Web 服務或生產環境中使用,請選取此選項。 此選項會啟用 生產模式。 元件會從定型期間看到的所有專案提出建議。
從評分專案 (用於模型評估):如果您要開發或測試模型,請選取此選項。 此選項會啟用 評估模式。 元件只會從已評等輸入數據集中的專案提出建議。
從 [未分級的專案] [建議新專案給使用者]:如果您想要讓元件只從尚未分級的定型數據集中的專案提出建議,請選取此選項。
新增您要進行預測的數據集,並將它連線至 數據集以評分。
針對 [ 從所有專案] ,輸入數據集應該包含一個數據行。 它包含要為其提出建議的使用者標識碼。
數據集可以包含額外的兩個專案標識碼和評等數據行,但忽略這兩個數據行。
針對 [從評分的專案] (用於模型評估),輸入數據集應該包含用戶專案組。 第一個數據行應該包含使用者標識碼。 第二個數據行應該包含對應的專案標識碼。
數據集可以包含第三個用戶專案評等數據行,但會忽略此數據行。
針對 [從未分級的專案] (若要向使用者建議新專案),輸入數據集應該包含用戶專案組。 第一個數據行應該包含使用者標識碼。 第二個數據行應該包含對應的專案標識碼。
數據集可以包含第三個用戶專案評等數據行,但會忽略此數據行。
建議給用戶的項目數目上限:輸入每個使用者要傳回的項目數。 根據預設,元件建議五個專案。
每個使用者的建議集區大小下限:輸入值,指出需要多少個先前的建議。 根據預設,此參數會設定為2,這表示至少另外兩位用戶已建議該專案。
只有在評估模式中評分時,才使用此選項。 如果您選取 [從所有專案] 或 [從未分級的專案] (向使用者建議新專案),則無法使用此選項。
針對 [ 從未分級的專案] (若要向使用者建議新專案),請使用名為 Training Data 的第三個輸入埠來移除已從預測結果中評分的專案。
若要套用此篩選,請將原始定型數據集連接到輸入埠。
提交管線。
項目建議的結果
評分 SVD 建議程式所傳回的評分數據集會列出每個使用者的建議專案:
- 第一個數據行包含使用者識別碼。
- 系統會根據您為 [要建議給用戶的項目數目上限] 設定的值,產生一些額外的數據行。 每個數據行都包含建議的專案(依標識符)。 建議會依用戶專案親和性排序。 具有最高親和性的專案會放在數據行 Item 1中。
技術注意事項
如果您有具有 SVD 建議工具的管線,且將模型移至生產環境,請注意在評估模式中使用推薦程式,以及在生產模式中使用建議程式之間有主要差異。
根據定義,評估需要針對測試集中的基礎真相進行驗證的預測。 當您評估推薦程式時,它必須只預測測試集中已評等的專案。 這會限制預測的可能值。
當您操作模型時,通常會變更預測模式,根據所有可能的專案提出建議,以取得最佳的預測。 對於其中許多預測,沒有對應的地面真相。 因此,建議的正確性無法與管線作業期間相同的方式來驗證。