Amazon Machine Learningでバッチ予測の実行前に利用費が表示されるようになりました

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

今回は小ネタです。先日Amazon Machine Learning(Amazon ML)にバッチ予測に必要なAWS利用費を表示する機能が追加されました。

Estimate the Cost of Your Predictions in Amazon Machine Learning

ということで、実際に試してみたいと思います。

Batch Predictionの実施

今回は公式ドキュメントのTutorial: Using Amazon ML to Predict Responses to a Marketing Offerに沿って進めます(日本語の場合はまだ公式ドキュメントは翻訳されていませんので弊社ブログエントリーをご参照下さい)。

ということで公式ドキュメントのStep 5: Use the ML Model to Create Batch Predictionsから解説します。まずは手順沿ってそのまま進めます。

Amazon Machine Learningのグローバルメニューから[Batch Predictions]を選択します。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning1

[Create new batch prediction]をクリックします。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning2

[1. ML model for batch prediction]の画面で一覧からBanking.csv用のモデルを選択し[Continue]ボタンをクリックして次に進めます。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning3

[2. Data for batch prediction]の画面でチュートリアルの手順に沿って[My data is in S3, and I need to create a datasource]を選択し、banking-batch.csvを選択します。[Does the first line in your CSV contain the column names?]は[Yes]を指定し、最後に[Verify]ボタンをクリックします。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning4

すると、Verifyが完了し、[Continue]ボタンで先に進めます。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning5

そしてついに[3. Batch prediction results]の画面まで進みますが、なぜかAmazon ML is unable to estimate the cost of generating the predictions you requested.と表示され利用費が表示されません。。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning6

これは利用費の見積もりを行うには事前にDatasourceを作成しておく必要があるためです。DatasourceはS3上のファイルを一度読み取り各種メタ情報を保持しています。バッチ予測の利用費の見積もり機能においてもこのメタ情報を利用している訳です。

Datasourceの作成

ということで、一旦バッチ予測をキャンセルしてDatasourceを作成します。手順は以下の通りです。

  1. Amazon Machine Learningのグローバルメニューから[Datasources]を選択する
  2. [Create a new datasource]ボタンをクリックする
  3. [1. Input Data]の画面でbanking-batch.csvを指定する
  4. [2. Schema]の画面で[Does the first line in your CSV contain the column names?]は[Yes]を指定する
  5. [3. Target]の画面で[Do you plan to use this dataset to create or evaluate an ML model?]は[No]を指定する
  6. [4. Row ID]の画面で[Do you want to select an identifier?]は[No]を指定する
  7. [5. Review]の画面で内容を確認して[Finish]をクリックする

以下が7. [5. Review]の画面の内容です。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning15

これでDatasourceが出来ました。では改めてBatch Predictionを実施してみたいと思います。

Batch Predictionの再実施

ポイントは[2. Data for batch prediction]の画面で[I already created a datasource pointing to my S3 data]を指定する点です。そして先ほど作成したDatasourceを指定します。 estimate-the-cost-of-your-predictions-in-amazon-machine-learning16

すると[3. Batch prediction results]の画面上部に利用費として$0.50と表示されています! estimate-the-cost-of-your-predictions-in-amazon-machine-learning17

まとめ

ということでバッチ予測時の利用費見積もり機能の紹介でした。バッチ予測の料金体系は予測 1,000 件当たり 0.10 USD(百の位以下の端数を切り上げ)1ですので、レコード数が分かっていれば大体予測が予測はつくのですが、まぁ表示されて困ることはないのかなと思います。その際、事前にDatasourceの作成が必要だということは気づきにくいことかもしれませんので、ご参考になれば幸いです。


  1. 2015年9月1日時点の金額です。