23

我正在试验language_id.txtGoogle Prediction 示例中的数据集。现在我正在尝试使用以下方法更新模型:

def update(label, data)
  input = @prediction.trainedmodels.update.request_schema.new
  input.label = label
  input.csv_instance = [data]
  result = @client.execute(
    :api_method => @prediction.trainedmodels.update,
    :parameters => {'id' => MODEL_ID},
    :headers => {'Content-Type' => 'application/json'},
    :body_object => input
  )
  assemble_json_body(result)
end

(此方法基于一些Google 示例代码。)

我的问题是这些更新没有效果。以下是This is a test sentence.无论我运行多少更新的分数:

{
   "response":{
      "kind":"prediction#output",
      "id":"mymodel",
      "selfLink":"https://www.googleapis.com/prediction/v1.5/trainedmodels/mymodel/predict",
      "outputLabel":"English",
      "outputMulti":[
         {
            "label":"English",
            "score":0.420937
         },
         {
            "label":"French",
            "score":0.273789
         },
         {
            "label":"Spanish",
            "score":0.305274
         }
      ]
   },
   "status":"success"
}

根据“创建情绪分析模型”底部的免责声明,我已确保至少更新 100 次,然后再期待任何更改。首先,我尝试使用一个句子并将其更新 1000 次。其次,我尝试使用从 Simple Wikipedia 中提取的大约 150 个独特的句子,并且每个句子都更新一次。每次更新都是“成功的”:

{"response":{"kind":"prediction#training","id":"mymodel","selfLink":"https://www.googleapis.com/prediction/v1.5/trainedmodels/mymodel"},"status":"success"}

但两种方法都没有改变我的结果。

我也尝试过使用 APIs Explorer(Prediction,v1.5)并以这种方式更新约 300 次。我的结果仍然没有区别。这些更新也是“成功的”。

200 OK
{
"kind": "prediction#training",
"id": "mymodel",
"selfLink": "https://www.googleapis.com/prediction/v1.5/trainedmodels/mymodel"
}

我很确定模型正在接收这些更新。get并且analyze都表明该模型具有numberInstances": "2024". 但奇怪的是,list表明该模型具有"numberInstances": "406".

在这一点上,我不知道是什么导致了这个问题。

4

1 回答 1

1

2019 更新

根据 Jochem Schulenklopper 的评论,该 API 已于 2018 年 4 月关闭。

选择迁移到谷歌云机器学习引擎的开发人员将不得不重新创建他们现有的预测 API 模型。

机器学习 API 示例: https ://github.com/GoogleCloudPlatform/cloudml-samples

于 2019-05-01T21:58:51.017 回答