调用异常检测API时出错

时间:2018-06-25 12:55:38

标签: microsoft-cognitive azure-cognitive-services anomaly-detection

作为Microsoft认知服务实验室的一部分,我一直在弄混Anomaly Detection API。但是,当我尝试发布数据以获取响应时,它总是返回为

400: TypeError('string indices must be integers'

我认为这是我提供的数据格式的问题,我以sample的形式对其进行了仔细检查:

{
  "Period": 7,
  "Points": [
    {
      "Timestamp": "2018-03-01T00:00:00Z",
      "Value": 32858923
    },
    {
      "Timestamp": "2018-03-02T00:00:00Z",
      "Value": 29615278
    },
    {
      "Timestamp": "2018-03-03T00:00:00Z",
      "Value": 22839355
    },
  ]
}

这是我发送给它的一些返回错误的数据:

{  
  "Period": 1,
  "Points":[  
    {  
      "Timestamp": "1962-01-01T00:00:00Z",
      "Value": 589
    },
    {  
      "Timestamp": "1962-02-01T00:00:00Z",
      "Value": 561
    },
    {  
      "Timestamp": "1962-03-01T00:00:00Z",
      "Value": 640
    }
  ]
}

使用Python使用requests软件包调用API:

request = json.dumps(output)
config = json.load(open("config.json"))
url = "https://api.labs.cognitive.microsoft.com/anomalyfinder/v1.0/anomalydetection"
headers = {"Ocp-Apim-Subscription-Key": config["apiKey"]}
response = requests.post(url, headers=headers, json=request)

output对象是一个像这样的字典:

{'Period': 1,
 'Points': [{'Timestamp': '1962-01-01T00:00:00Z', 'Value': 589},
  {'Timestamp': '1962-02-01T00:00:00Z', 'Value': 561},
  {'Timestamp': '1962-03-01T00:00:00Z', 'Value': 640}]}

这是从monthly milk production data set派生的。

我的数据是否存在问题,我想使它返回该错误?

0 个答案:

没有答案