我正在使用Google的预测API。我已经训练了一些模型,并使用Google的网络界面进行了预测。我想做几千个预测但是网络界面只允许你一次做一个预测。因此,我稍微调整了“prediction-cmdline-sample”,这是使用Java库与Google预测API接口的示例。但是,我使用Java库获得的结果与Web界面不同。
我用来做预测的代码是:
In [37]: mask
Out[37]: array([False, False, True, False, False], dtype=bool)
该方法返回private static String predict(Prediction prediction, String text) throws IOException {
Input input = new Input();
InputInput inputInput = new InputInput();
inputInput.setCsvInstance(Collections.<Object>singletonList(text));
input.setInput(inputInput);
Output output = prediction.trainedmodels().predict(PROJECT_ID, MODEL_ID, input).execute();
return output.getOutputValue();
}
,无论我给出什么输入(0.500305大致是训练数据第一列的平均值)。
非常感谢任何解决此问题的建议。
如果有人知道另外一种做出几千次预测的方法,请告诉我。
答案 0 :(得分:0)
我发现了我的问题:我没有正确格式化输入。代码
Collections.singletonList(文本)
对于双类型输入不正确,它仅对字符串输入正确。难以找到此错误的原因是,如果给出不正确的输入,预测API不会抛出错误,它只会返回一些结果。