2011年8月8日月曜日

Google Prediction API --Libraries and Sample Code--

元ネタ:http://code.google.com/apis/predict/docs/libraries.html#oacurltraining

このページでは、いくつかの言語からPrediction APIを使うためのヘルパーライブラリを紹介します。
また、よくあるシナリオでAPIを使用するアプリケーションのサンプルを提示します。


Generic Google API Client Libraries



ここでは、Google Prediction APIにアクセスするための一般的なREST形式のAPIを紹介します。
以下の表で、1列目に現在の開発段階を示しています。アルファ版のものもあることに注意してください。
各言語のサンプルも提示していますが、中にはまだサンプルがないものもあります。
必要に応じて他の言語のサンプルを参考にしてください。

Client libraryPublic repositoryAll client library samples
Google APIs Client Library for .NET (alpha)google-api-dotnet-client/.NET samples
Google API Libraries for Google Web Toolkit (alpha)gwt-google-apis/GWT samples
Google APIs Client Library for Java (beta)google-api-java-client/Java samples
Google APIs Client Library for PHP (alpha)google-api-php-client/PHP samples
Google APIs Client Library for Python (beta)google-api-python-client/Python samples
Google APIs Client Library for Ruby (alpha)google-api-ruby-client/Ruby samples



Specialized Google Prediction API Client Libraries


ここでは、Google Prediction API用に作られたAPIについて紹介します。

LanguageLibrary NameLink to the Repository
.NET.NET Prediction API libraryhttp://gpapi.codeplex.com/
BASH scriptoacurlSee the scripts below
JavaPrediction API Java libraryhttp://code.google.com/p/google-api-java-client/wiki/APILibraries#Prediction_API
JavaScript (Experimental)Google Prediction API Javascript LibraryLibrary source is available at https://ajax.googleapis.com/ajax/libs/googleapis/prediction-0.0.1/prediction.js. See information below.
PHPPHP Prediction API libraryhttp://code.google.com/p/predictionapiphpwrapper/source/browse/trunk/GooglePredictionWrapper.php
RGoogle Prediction Client Library for Rhttp://code.google.com/p/google-prediction-api-r-client/
RubyOpen-source Prediction API clienthttp://code.google.com/p/ruby-google-prediction-api/
RubyRubyForge Prediction API clienthttp://rubyforge.org/projects/google-predict/



JavaScript Library (Experimental) --省略--





BASH Using oacurl



注意:oacurlは、現在、OAuth1.0のみサポートしています。

oacurlは、OAuth認証に対応したHTTPリクエストをサポートする、オープンソースのコマンドラインツールです。

製品として販売するようなコードでoacurlを使用することは勧められませんが、
テストやデバックを手っ取り早く実行するときは便利です。

このセクションでは、Predicton APIのREST呼び出しにoacurlを使用したスクリプトを紹介します。

ここから最新バージョンのoacurlを入手してください。

認証トークンの取得
Prediction APIの最初のステップは、OAuth認証トークンの取得です。
以下のスクリプトは認証トークンを要求するリクエストを生成します。
このスクリプトはブラウザを立ち上げ、Googleの認証ページを開きます。
ブラウザに表示されたページで、GoogleアカウントのIDとパスワードを入力します。
するとブラウザは、oacurlにあなたのPrediction APIアカウントにアクセスするための認証トークンを返します。
oacurlがあなたのIDとパスワードを見たり受け取ったりすることはありません。

上記の認証プロセスを実行する際に、oacurlにブラウザを起動させるかそれとも自分でブラウザを立ち上げるか選択することができます。
もし自分で立ち上げることを選んだ場合、Googleアカウントのログインページを開くためのURLを受け取ります。
自分で立ち上げる場合は、 --nobrowser フラグをつけてコマンドを実行してください。

以下のコマンドは、oacurlを使ってOAuth認証を行うコマンドです。
oacurlのJARファイルは、ダウンロードしたローカルファイルを指すように変更してください。
$ java -cp oacurl-1.2.0.jar com.google.oacurl.Login --scope https://www.googleapis.com/auth/prediction
認証トークンの有効期限は長いので、認証は一度行えばOKです。
認証後は、oacurlはトークンを見つけると自動的にそれをリクエストに含めますので、
認証について特に気にする必要はありません。


学習
oauth-train.sh
#!/bin/bash
# Train a prediction model.
# Usage: oauth-train.sh MODEL_NAME

ID=$1
KEY=`cat googlekey`

post_data="{\"id\":\"$ID\"}"

# Train the model.
java -cp ./oacurl-1.2.0.jar com.google.oacurl.Fetch -X POST \
-t JSON \
"https://www.googleapis.com/prediction/v1.3/training?key=$KEY" <<< $post_data
echo
このスクリプトは、Google Storageにアップロードした学習データを使っての学習を行います。

注意:このスクリプトを実行する際には、Google Storageのアクセスキーを"googlekey"という名前のファイルに保存して、スクリプトからアクセス可能な場所に置いておく必要があります。 「アクセスキー」は、Google APIs Consoleから取得できます。
このスクリプトは、以下のように使用します。
$ oauth-train.sh mybucket/myobject


学習状態の取得
oauth-check-training.sh
#!/bin/bash
# Check training status of a prediction model.
# Usage: oauth-training.sh MODEL_NAME

DATA=$1
KEY=`cat googlekey`

# Encode the model name.
MODEL=`echo $DATA | perl -pe 's:/:%2F:g'`

# Check training status.
java -cp ./oacurl-1.2.0.jar com.google.oacurl.Fetch -X GET \
  "https://www.googleapis.com/prediction/v1.3/training/$MODEL?key=$KEY"
echo

このスクリプトは、モデルの学習状態をチェックします。
このスクリプトも、Google Storageのアクセスキーを"googlekey"という名前のファイルに保存して、アクセス可能な場所に置いておく必要があります。

問い合わせの実行
oauth-predict.sh
#!/bin/bash

# Run a prediction against a model.
# Usage: oauth-predict.sh MODEL_NAME DATA

DATA=$1
INPUT="$2"
KEY=`cat googlekey`
MODEL=`echo $DATA | perl -pe 's:/:%2F:g'`
data="{\"input\" : { \"csvInstance\" : [ $INPUT ]}}"

java -cp ./oacurl-1.2.0.jar com.google.oacurl.Fetch -X POST \
-t JSON \
"https://www.googleapis.com/prediction/v1.3/training/$MODEL/predict?key=$KEY" <<< $data
echo
このスクリプトは判断のリクエストを送信します。 このスクリプトは、複数のテキストや数値の列を処理します。 このスクリプトも、Google Storageのアクセスキーを"googlekey"という名前のファイルに保存して、アクセス可能な場所に置いておく必要があります。
$ oauth-predict.sh mybucket/myobject "col1, col2 ..."
データリストは、全体をダブルクォーテーション(")で囲む必要があります。 そして、カラムごとにカンマで区切ります。 カラムが文字列データの場合、さらにシングルクォーテンション(')で囲む必要があります。 カラムが数値データの場合は、クォーテーションは不要です。 以下にいくつか例を示します。
oauth-predict.sh example/bucket "'some string data', 'singleval', 123 "
oauth-predict.sh example/bucket "1234, 'Man\'s best friend' "
oauth-predict.sh example/bucket "1234, 3345" # Numerical data does not need additional quotes.




0 件のコメント:

コメントを投稿