0

PHP で Google Prediction API を使用しています。

認可は OAuth 2.0 を使用して正常に行われます。クラウド上のcsvファイルにデータがあります。Training クラスの setDataLocation メソッドを使用してその場所を指定しました。しかし、データのトレーニング/挿入中に次のエラーが発生しました。

致命的なエラー: C:\xampp\htdocs\google-api-php-client\src\service\apiServiceResource.php:81 のメッセージ「不明な関数: ->->insert()」を含むキャッチされない例外「apiException」: #0 C:\xampp\htdocs\google-api-php-client\src\contrib\apiPredictionService.php(60): apiServiceResource->__call('insert', Array) #1 C:\xampp\htdocs\google- api-php-client\examples\analytics\new2.php(51): TrainedmodelsServiceResource->insert(Object(apiPredictionService), Array) #2 {main} が C:\xampp\htdocs\google-api-php-client でスローされる\src\service\apiServiceResource.php 行 81

これは私のコードスニペットです:

if ($client->getAccessToken()) {
    $data = array();
    $buzzy = new Training();
    $predictionService = new apiPredictionService($client);
    $trainedmodels = $predictionService->trainedmodels;
    $buzzzy = new TrainedmodelsServiceResource();
    $me = $buzzy->setStorageDataLocation('my_data.csv');
    $mee = $buzzy->getStorageDataLocation();
    // $ma = $buzzy->getTrainingStatus();
    $setid_in = $buzzy->setId($buzzy->getStorageDataLocation());
    $setid_out = $buzzy->getId();
    echo $setid_out;
    //print_r($predictionService);
    //$insert_1 = $buzzzy->insert($buzzy,array());

    // This is line 81 in my code:
    $insert2=$trainedmodels->insert($predictionService,array());
}

これ以上進めません。トレーニングしてから予測関数を呼び出す予定です。

4

1 に答える 1

1

PHPを使用して予測を行うテストプログラムを作成したところ、これを機能させることができました。魔法のシーケンスは次のとおりです。

   $id = "your-model-id-goes-here";
   $predictionText = "This is a test";
   $predictionData = new InputInput();
   $predictionData->setCsvInstance(array($predictionText));
   // My model takes a single feature but if your model needs more than one 
   // feature, simply include more values in the csvInstance array, like this...
   // $predictionData->setCsvInstance(array($data1, $data2, ..., $dataN));
   $input = new Input();
   $input->setInput($predictionData);
   print_r($predictionService->trainedmodels->predict($id, $input));

これにより、次のように、予測リクエストからのフォーマットされていない JSON レスポンスが表示されます。

Array ( [kind] => prediction#output [id] => languages [selfLink] =>    
https://www.googleapis.com/prediction/v1.4/trainedmodels/languages/predict 
[outputLabel] => French [outputMulti] => Array ( [0] => Array ( [label] => 
English [score] => 0.333297 ) [1] => Array ( [label] => French [score] => 
0.339412 ) [2] => Array ( [label] => Spanish [score] => 0.327291 ) ) )
于 2012-03-01T04:43:52.720 に答える