Azure Machine Learning – 推荐系统 Web 服务

我们正在尝试为我们的系统创建一个“下一步”推荐器:给定一个用户和一个上下文,我们希望有一个模型能够给出用户可能想要采取的下一步建议。

Matchbox 推荐器接受评分、用户和项目。在我们的案例中,下一步是项目,用户和其上下文的组合是用户,使用数据是评分。

“评分”:

UserID  ScreenID    Rating1       ScreenA       501       ScreenB       353       ScreenA       553       ScreenB       603       ScreenC       105       ScreenA       505       ScreenB       355       ScreenD       10

“用户”:

UserID  EmployeeID  Role            ContextCategory   ContextTask1       078570      Representative  C                 Assignment/Reassignment3       076545      Representative  A                 Assignment/Reassignment5       076545      Representative  G                 Assignment/Reassignment

我已经训练了一个模型,创建了一个预测实验,并发布了 Web 服务。我不得不更改 Web 服务的输入,要求提供用户及其上下文的组合(本质上是用户特征),并期望 Web 服务根据其他相似“用户”给我提供建议:

Azure ML Predictive Experiment

然而,当我测试 Web 服务时,它只是返回了所有训练用户及其建议的列表,而不是我输入的指定新用户/冷启动用户的建议。

结果: {“Results”:{“output1”:{“type”:”table”,”value”:{“ColumnNames”:[“User”,”Item 1″,”Item 2″,”Item 3″],”ColumnTypes”:[“String”,”String”,”String”,”String”],”Values”:[[“1″,”ScreenA”,”ScreenB”,”ScreenC”],[“3″,”ScreenA”,”ScreenB”,”ScreenC”],[“5″,”ScreenA”,”ScreenB”,”ScreenC”]]}}}}

关于为 Matchbox 推荐器创建训练模型,有很多文档/示例,但大多数都以项目作为输入,并给出推荐项目作为输出。我找不到任何以用户作为输入,并将其转换为有用 Web 服务的示例。


回答:

这是冷启动问题。为了允许没有评分的用户使用,你需要使用用户特征来训练推荐器 – https://msdn.microsoft.com/en-us/library/azure/dn905846.aspx

这是一个示例,其中用户和项目特征被传递用于冷启动情况 – https://gallery.cortanaintelligence.com/Experiment/Recommender-Restaurant-ratings-2

这是上述情况的预测实验,展示了如何在这种情况下为 Web 服务设置实验 – https://gallery.cortanaintelligence.com/Experiment/Recommender-Restaurant-ratings-Predictive-Exp-2

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注