計分 SVD 建議程式

本文描述如何使用 Azure Machine Learning 設計工具中的「評分 SVD 建議程式」元件。 使用此元件來建立預測,方法是使用已根據單一值分解 (SVD) 演算法定型的建議模型。

SVD 建議程式可以產生兩個不同類型的預測:

建立第二個類型的預測時,您可以在下列其中一種模式中作業:

  • 生產模式會考慮所有使用者或項目。 它通常用於 Web 服務。

    您可以為新使用者建立分數,而不只是在定型期間看到的使用者。 如需詳細資訊,請參閱技術說明

  • 評估模式會對可評估的一組縮減的使用者或項目運作。 一般是在管線作業期間使用。

如需 SVD 建議程式演算法的詳細資訊,請參閱研究論文:建議程式系統的矩陣分解技術

如何設定評分 SVD 建議程式

此元件支援兩個類型的預測,各有不同的需求。

評量的預測

預測評等時,該模型會根據定型資料計算使用者回應特定項目的方式。 評分的輸入資料必須同時提供要評等的使用者和項目。

  1. 將已定型的建議模型新增至您的管線,並將其連接至已定型的 SVD 建議程式。 您必須使用定型 SVD 建議程式元件來建立模型。

  2. 針對 [建議程式預測類型],選取 [評等預測]。 不需要任何其他參數。

  3. 新增您想要進行預測的資料,並將其連接至要評分的資料集

    若要讓模型預測評等,輸入資料集必須包含使用者-項目配對。

    資料集可以在第一個和第二個資料行中包含用於使用者-項目配對的選擇性第三個評等資料行。 但在預測期間將會忽略第三個資料行。

  4. 提交管線。

評等預測的結果

輸出資料集包含三個資料行:使用者、項目,以及對每個輸入使用者和項目的預測評等。

給使用者的建議

若要為使用者建議項目,請提供使用者和項目的清單做為輸入。 透過此資料,模型會使用其對於現有項目和使用者的知識,來產生可能吸引每位使用者的項目清單。 您可以自訂要傳回的建議數目。 您可以設定產生建議所需的先前建議數目的閾值。

  1. 將已定型的建議模型新增至您的管線,並將其連接至已定型的 SVD 建議程式。 您必須使用定型 SVD 建議程式元件來建立模型。

  2. 若要為使用者清單建議項目,請將 [建議程式預測種類] 設定為 [項目建議]。

  3. 針對 [建議的項目選取],指出您是在生產環境中使用評分元件或用於模型評估。 選擇下列其中一個值:

    • 從所有項目:如果您要設定要在 Web 服務或生產環境中使用的管線,請選取此選項。 此選項會啟用生產模式。 元件會從定型期間看到的所有項目提出建議。

    • 從評等項目 (用於模型評估):如果您正在開發或測試模型,請選取此選項。 此選項會啟用評估模式。 元件只會從輸入資料集中已評等的項目提出建議。

    • 從未評等的項目 (為使用者建議新項目):如果您想要元件只針對定型資料集中尚未評等的項目提出建議,請選取此選項。

  4. 新增您想要進行預測的資料集,並將其連接至要評分的資料集

    • 針對 [從所有項目],輸入資料集後由一個資料行組成。 它包含要提出建議的使用者的識別碼。

      資料集可以包含項目識別碼和評等這兩個額外的資料行,但會忽略這兩個資料行。

    • 針對 [從評等項目 (用於模型評估)],輸入資料集應由使用者-項目配對組成。 第一個資料行應該包含使用者識別碼。 第二個資料行應該包含對應的項目識別碼。

      資料集可以包含使用者-項目評等的第三個資料行,但會忽略此資料行。

    • 針對 [從未評等的項目 (為使用者建議新項目)],輸入資料集應由使用者-項目配對組成。 第一個資料行應該包含使用者識別碼。 第二個資料行應該包含對應的項目識別碼。

    資料集可以包含使用者-項目評等的第三個資料行,但會忽略此資料行。

  5. 對使用者建議的最大項目數:輸入要針對每個使用者傳回的項目數。 依預設,元件會建議五個項目。

  6. 每個使用者建議集區的大小下限:輸入值,指出需要的先前建議數量。 依預設,此參數會設為 2,表示至少有兩個其他使用者已建議該項目。

    只有當您在評估模式中評分時,才使用此選項。 如果您選取 [從所有項目] 或 [從未評等的項目 (為使用者建議新項目)],則此選項無法使用。

  7. 針對 [從未評等的項目 (為使用者建議新項目)],請使用第三個輸入連接埠(名為定型資料) 來移除已從預測結果評等的項目。

    若要套用此篩選,請將原始定型資料集連接至輸入連接埠。

  8. 提交管線。

項目建議的結果

評分 SVD 建議程式所傳回的評分資料集會列出每個使用者的建議項目:

  • 第一個資料行包含使用者識別碼。
  • 會產生一些額外的資料行,取決於您為 [建議給使用者的項目數上限] 設定的值。 每個資料行都會包含建議的項目 (依識別碼)。 建議會依使用者-項目親和性排序。 具有最高親和性的項目會放在資料行項目 1 中。

技術說明

如果您有具有 SVD 建議程式的管線,並將模型移至生產環境,請注意在評估模式中使用建議程式和在生產模式中使用之間有一些主要差異。

根據定義,評估需要可在測試集中進行地真驗證的預測。 您評估建議程式時,它必須只預測已在測試集中評等的項目。 這會限制預測的可能值。

當您讓模型作業化時,通常會變更預測模式,根據所有可能的項目提出建議,以取得最佳預測。 在這些預測當中,許多都沒有對應的標準答案。 因此,建議的精確度無法依照管線作業期間的相同方式進行驗證。

後續步驟

請參閱 Azure Machine Learning 可用的元件集