1

我一直在关注这个画廊示例,但我似乎无法通过批量执行在一项工作中返回多个分数。

一切正常,即可以部署预测 Web API 并请求单个评分。但是,每当我发送具有多个请求的批处理执行作业(使用示例 C# 代码)时,例如:

ID1,ID2
1,2
3,1
5,1

Azure ML 将仅返回第一个请求的预测分数,1,2而不返回其他行的预测分数。

我不确定我在哪里做错了,但我应该期待所有三个请求的结果。任何帮助,将不胜感激!

4

1 回答 1

2

看起来您选择了一个不幸的示例:Retail Forecasting Web 服务中的自定义脚本明确删除了除第一个 ID 对之外的所有内容。要查看这一点,请尝试加载“零售预测:第 6A 步,共 6 步”实验,并查看“创建完整的时间序列。添加未来时间戳”模块中的代码。您会发现以下内容:

all.time <- data.frame(ID1 = data$ID1[1], ID2 = data$ID2[1], time = all.time)
data <- join(all.time, data, by = c("ID1", "ID2", "time"), type = "left")
maml.mapOutputPort("data");

左连接语句将忽略 data$ID1 != data$ID1[1] 和 data$ID2 != data$ID2[1] 的任何行。这就是为什么除了第一个 ID 对之外,您将失去一切。

似乎在单个作业中对多个 ID 对进行批量预测并不是自定义脚本作者为其 Web 服务设想的用例。如果你精通 R 并且对这个用例特别感兴趣,你可以修改这个实验中的脚本以支持同时处理多个时间序列。否则,您可能只想尝试另一个示例实验。

于 2016-08-29T14:00:54.437 回答