Azure机器学习-批处理执行部分工作

本文关键字:工作 执行部 批处理 机器学习 Azure | 更新日期: 2023-09-27 18:03:33

我一直在遵循这个画廊样本,但我似乎无法在一个作业中获得批量执行以返回多个分数。

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

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

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

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

Azure机器学习-批处理执行部分工作

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

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并且对这个用例特别感兴趣,您可以修改这个实验中的脚本,以支持并发处理多个时间序列。否则,您可能想简单地尝试另一个示例实验。