【问题标题】:Azure Machine Learning - batch execution partially workingAzure 机器学习 - 批处理执行部分工作
【发布时间】:2015-07-20 00:58:21
【问题描述】:

我一直在关注这个gallery sample,但我似乎无法通过批处理来在一项工作中返回多个分数。

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

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

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

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

【问题讨论】:

  • 仍在寻找答案!现在我将请求拆分为多个作业,这不是最好的方法,而且这是一个非常昂贵的解决方法。
  • 你能复制一个愚蠢的实验并分享代码和示例输入吗?是否可以分享您当前的代码以及实际的示例输入?

标签: c# azure machine-learning azure-machine-learning-studio


【解决方案1】:

您似乎选择了一个不幸的示例:零售预测 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 并且对这个用例特别感兴趣,您可以修改这个实验中的脚本以支持同时处理多个时间序列。否则,您可能只想尝试另一个示例实验。

【讨论】:

    猜你喜欢
    • 2018-12-07
    • 2017-02-23
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    相关资源
    最近更新 更多