評估推薦
本文說明如何在 Azure 機器學習 設計工具中使用評估推薦元件。 目標是測量建議模型所做的預測精確度。 藉由使用此元件,您可以評估不同類型的建議:
- 針對使用者和項目預測的評等
- 用戶建議的專案
當您使用建議模型建立預測時,會針對每個支援的預測類型傳回稍微不同的結果。 評估推薦元件會從評分數據集的數據行格式推斷預測類型。 例如,評分數據集可能包含:
- User-item-rating triples
- 使用者及其建議專案
元件也會根據所要進行的預測類型,套用適當的效能計量。
如何設定評估推薦
評估推薦元件會使用建議模型與對應的「地面真相」數據來比較預測輸出。 例如, 評分 SVD 推薦元件會產生您可以使用評估推薦 來分析的評分數據集。
需求
評估建議程式需要下列數據集作為輸入。
測試資料集
測試數據集包含用戶項目評等三倍形式的「地面真相」數據。
計分的資料集
評分數據集包含建議模型產生的預測。
第二個數據集中的數據行取決於您在評分程式期間執行的預測類型。 例如,評分數據集可能包含下列其中一項:
- 使用者、項目和使用者可能為專案提供評等
- 建議使用者和項目的清單
計量
模型的效能計量會根據輸入類型產生。 下列各節提供詳細數據。
評估預測評等
當您評估預測評等時,評分數據集(評估推薦的第二個輸入)必須包含符合下列需求的用戶項目評等三倍:
- 數據集的第一個數據行包含使用者標識碼。
- 第二個數據行包含專案識別碼。
- 第三個數據行包含對應的用戶專案評等。
重要
若要讓評估成功,資料行名稱必須分別為 User
、 Item
和 Rating
。
評估推薦會將「基礎真相」數據集中的評等與評分數據集的預測評等進行比較。 然後,它會計算平均絕對誤差 (MAE) 和根均方誤差 (RMSE)。
評估項目建議
當您評估項目建議時,請使用包含每個使用者建議項目的評分數據集:
- 數據集的第一個數據行必須包含使用者標識碼。
- 所有後續數據行都應該包含對應的建議專案標識碼,依專案與使用者的相關程度排序。
聯機此數據集之前,建議您先排序數據集,讓最相關的專案先行。
重要
若要讓評估推薦能夠運作,數據行名稱必須是 User
、Item 1
、 Item 2
Item 3
等等。
評估 Recommender 會計算平均正規化折扣累計收益 (NDCG),並在輸出數據集中傳回它。
因為無法知道建議項目的實際「地面真相」,所以評估推薦會使用測試數據集中的用戶專案評等作為 NDCG 計算的收益。 若要評估,建議工具評分元件必須只針對具有「基礎真相」評等的專案產生建議(在測試數據集中)。