Azure 机器学习 REST API:为什么示例请求中包含预测?

Azure Machine Learning REST API: why is the prediction included in the Sample Request?

按照微软的德国信用卡风险模型教程,一步一步来,没有出错。算法运行,部署成功等

我正在使用 Select Columns in Dataset 到 select 列进行输入,我对 select 输出列也这样做。

我注意到当我查看已部署模型的 Request/Response 选项卡时,示例请求包括 所有 列,忽略了 selection I假如。这包括要预测的字段,即第 21 列:

{
  "Inputs": {
    "input1": {
      "ColumnNames": [
        "Col1",
        "Col2",
        "Col3",
        "Col4",
        "Col5",
        "Col6",
        "Col7",
        "Col8",
        "Col9",
        "Col10",
        "Col11",
        "Col12",
        "Col13",
        "Col14",
        "Col15",
        "Col16",
        "Col17",
        "Col18",
        "Col19",
        "Col20",
        "Col21"

问题:第 21 列是信用风险本身,因此 API 期望获得该值。相反,这是应该预测的值!

输入模式显然有问题,但我该如何更改呢?如何确保 API 未请求该字段?

不用担心 Col21 字段的输入模式。输入数据中的Col21字段刚好适配Edit Metadata模块,在训练阶段需要Col21数据。

您只需在 Col21 字段中填写 0 之类的无效值(0 是无效的风险分类值),然后网络服务将 return用于替换输入数据的 Col21 值的预测分类值。

这里,我使用Col21值为0的示例数据的第一条数据记录,通过门户Test功能的link进行测试,它工作正常 return 1 for Credit risk

图 1. 点击 Test link 测试 Col210

图2.使用样本的第一条记录进行测试

图3.input1Col21值为0output1Credit risk值为1