2016-07-13 19 views
0

Googleの予測APIを使用しています。私はいくつかのモデルを訓練し、GoogleのWebインターフェイスを使って予測をしました。私は数千件の予測をしたいが、Webインターフェイスでは一度に1つの予測しかできない。私はこのように、Javaのライブラリを使ってGoogleの予測APIとインターフェースするためのサンプルである "predict-cmdline-sample"を少し修正しました。しかし、私がJavaライブラリを使用して得ている結果は、Webインタフェースとは異なります。Googleの予測api、javaはウェブインタフェースと異なる結果を出します

Iの予測を行うために使用するコードである:

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.500305を返します。

この問題を解決するためのアドバイスをいただければ幸いです。

数千の予測を行う別の方法を知っている人は、私に知らせてください。

答えて

0

私の問題が見つかりました:入力を正しくフォーマットしていませんでした。コード

Collections.singletonList(テキスト)

は、それが文字列の入力のための唯一の正しい、double型の入力の誤りがあります。このエラーを見つけるのが難しいのは、誤った入力が与えられた場合に予測APIがエラーをスローしないということです。

関連する問題