评估推荐器
本文介绍如何在 Azure 机器学习设计器中使用“评估推荐器”组件。 目的是衡量推荐模型的预测是否准确。 使用此组件可以评估各种推荐结果:
- 为用户和项预测的评分
- 推荐给用户的项
使用推荐模型创建预测时,每种受支持的预测类型返回的结果略有不同。 “评估推荐器”组件将根据评分数据集中的列格式推断出预测的类型。 例如,评分数据集可能包含:
- 用户-项-评分三元组
- 用户及其推荐项
该组件还根据所进行的预测类型应用相应的性能指标。
如何配置评估推荐器
“评估推荐器”组件通过使用推荐模型将预测输出与相应的“真实”数据进行比较。 例如,评分 SVD 推荐器组件会生成多个评分数据集,可使用评估推荐器分析它们。
要求
评估推荐器需要以下数据集作为输入。
测试数据集
测试数据集包含用户-项-评分三元组形式的“实际”数据。
评分数据集
评分数据集包含推荐模型生成的预测。
此数据集中的列取决于你在评分过程中执行的预测类型。 例如,评分数据集可能包含以下某项:
- 用户、项和用户可能为该项给出的评分
- 用户及向其推荐的项的列表
指标
根据输入类型生成模型的性能指标。 以下各节将详细介绍。
评估预测评分
评估预测评分时,评分数据集(评估推荐器的第二个输入)必须包含满足以下要求的用户-项-评分三元组:
- 数据集的第一列包含用户标识符。
- 第二列包含项标识符。
- 第三列包含相应的用户-项评分。
重要
若要使计算成功,列名称必须分别为 User
、Item
和 Rating
。
评估推荐器将“实际”数据集中的评分与评分数据集的预测评分进行比较。 然后,评估推荐器计算平均绝对误差 (MAE) 和均方根误差 (RMSE)。
评估项目建议
评估项目建议时,使用包含为每个用户推荐的项的评分数据集:
- 数据集的第一列必须包含用户标识符。
- 所有后续列都应包含相应的推荐项标识符,并按项与用户的相关度排序。
在连接此数据集之前,建议对数据集进行排序,使相关度最高的项排在最前面。
重要
若要使评估推荐器正常工作,列名称必须为 User
、Item 1
、Item 2
和 Item 3
等。
评估推荐器计算平均归一化折损累计增益 (NDCG),并在输出数据集中返回它。
由于不可能知道推荐项的真正“实际”情况,因此,评估推荐器使用测试数据集中的用户-项评分作为 NDCG 计算中的增益。 为了评估,推荐器评分组件只能为具有“真实”评级(在测试数据集中)的项提供推荐。
后续步骤
请参阅 Azure 机器学习可用的组件集。