評估推薦
本文描述如何在 Azure Machine Learning 設計工具中使用「評估推薦」元件。 目標是測量建議模型所做預測的精確度。 您可以使用此元件來評估各種不同的建議:
- 預測使用者和項目的評等
- 推薦給使用者的項目
當您使用建議模型建立預測時,針對每個支援的預測類型,傳回的結果會稍微不同。 評估推薦元件會從評分資料集的資料行格式推算預測的種類。 例如,評分資料集可能包含:
- 使用者-項目-評等三合一
- 使用者及其建議項目
元件也會根據所做的預測類型,套用適當的效能計量。
如何設定評估推薦
評估推薦元件使用建議模型及對應的「地表實況」資料來比較預測輸出。 例如,計分 SVD 推薦元件產生的評分資料集,可供您使用評估推薦來分析。
規格需求
評估推薦需要下列資料集做為輸入。
測試資料集
測試資料集包含使用者-項目-評等三合一形式的「地表實況」資料。
計分的資料集
評分資料集包含建議模型產生的預測。
第二個資料集的資料行取決於您在評分過程中執行的預測種類。 例如,評分資料集可能包含下列其中一項:
- 使用者、項目及使用者想給項目的評等
- 使用者清單和推薦給他們的項目清單
計量
模型的效能計量是根據輸入類型而產生。 下列各節提供詳細資料。
評估預測評等
當您評估預測評等時,評分資料集 (評估推薦的第二個輸入) 必須包含符合下列需求的使用者-項目-評等三合一:
- 資料集的第一個資料行包含使用者識別碼。
- 第二個資料行包含項目識別碼。
- 第三個資料行包含對應的使用者-項目評等。
重要
若要成功評估,資料行名稱必須分別為 User
、Item
和 Rating
。
評估推薦會比較「地表實況」資料集的評等與評分資料集的預測評等。 然後計算平均絕對誤差 (MAE) 和均方根誤差 (RMSE)。
評估項目建議
當您評估項目建議時,使用的評分資料集應該包含推薦給每個使用者的項目:
- 資料集的第一個資料行必須包含使用者識別碼。
- 所有後續的資料行應該包含對應的建議項目識別碼 (依項目與使用者的相關程度排序)。
連線此資料集之前,建議您將資料集排序成最相關的項目排在最前面。
重要
資料行名稱必須是 User
、Item 1
、Item 2
、Item 3
,依此類推,評估推薦才能運作。
評估推薦計算平均正規化折扣累積增益 (NDCG),並在輸出資料集中傳回。
因為無法得知所建議項目的實際「地表實況」,所以評估推薦使用測試資料集中的使用者-項目評等,做為計算 NDCG 時的增益。 若要評估,推薦評分元件只能以「地表實況」評等 (在測試資料集中) 為項目產生建議。
後續步驟
請參閱 Azure Machine Learning 可用的元件集。