
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
BigQuery ML を使用すると、BigQuery で SQL クエリを使用して ML モデルを作成し、実行できます。ここでは、SQL のユーザーが簡単に ML を利用できるようにすることを目標としています。使い慣れたツールを使用してモデルを構築でき、データ移動の必要もないため、開発スピードを向上させることができます。
Google Merchandise Store に関する数百万件に及ぶ Google アナリティクス レコードが格納された e コマース データセットが BigQuery に読み込まれています。このラボでは、このデータを使用して訪問者が取引を実行するかどうかを予測するモデルを作成します。
BigQuery で ML モデルを作成、評価、使用する方法
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00
)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
[Cloud Console の BigQuery へようこそ] メッセージ ボックスが開きます。このメッセージ ボックスにはクイックスタート ガイドへのリンクと、UI の更新情報が表示されます。
[データセットを作成] ダイアログが開きます。
bqml_lab
」と入力し、[データセットを作成] をクリックします(その他のデフォルト値はそのまま使用します)。このラボで使用するデータは bigquery-public-data プロジェクトに含まれており、誰でも利用できます。このデータのサンプルを見てみましょう。
データテーブルには多数の列がありますが、ML モデルの作成に使用するのは一部のみです。ここでは、取引が行われたかどうかの基準として、訪問者のデバイスのオペレーティング システム、そのデバイスがモバイル デバイスであるかどうか、訪問者の国または地域、ページビューの回数が使用されます。このケースでは、label
がフィッティング(予測)の対象です。
このデータが、ML モデル作成のためのトレーニング データとなります。トレーニング データは、2016 年 8 月 1 日から 2017 年 6 月 30 日の間に収集されたものに限定しています。これは「予測」用に最後の月のデータを残しておくためです。さらに、時間の節約のため 10,000 データポイントに制限します。
bqml_lab
を選択し、[テーブル名] に「training_data
」と入力して [保存] をクリックします。ここで、bqml_lab
はデータセットの名前、sample_model
はモデルの名前、training_data
は前のタスクで準備した取引データです。指定されたモデルタイプは 2 項ロジスティック回帰です。
CREATE MODEL
コマンドを実行すると非同期で実行されるクエリジョブが作成されるため、BigQuery UI ウィンドウを閉じたり、更新したりといったことができます。
興味があれば、UI の左側のメニューで bqml_lab
データセットをクリックしてから、sample_model
モデルをクリックすると、モデルに関する情報が得られます。[詳細] タブに、モデルの生成に使用される基本的なモデル情報とトレーニング オプションが表示されます。[トレーニング統計] の下には、次のようなテーブルが表示されます。
このクエリは、ml.EVALUATE
関数を使用して予測値を実際の値に照らして評価し、モデルのパフォーマンスについていくつかの指標を提示します。以下のようなテーブルが表示されます。
クエリの SELECT
と FROM
の部分はトレーニング データの生成に使用したものと似ていることにお気づきでしょうか。追加の fullVisitorId 列は、各ユーザーが行う取引の予測に使用されます。対象期間(2017 年 7 月 1 日~8 月 1 日)の変更には、WHERE
句の値で対応します。
ここでは、この 7 月分のデータを保存して、次の 2 ステップでモデルを使用した予測を行うために使用します。[保存] をクリックし、プルダウンから [ビューを保存] を選択して、このクエリをビューとして保存します。ポップアップで [データセット] に bqml_lab
を選択し、[テーブル名] に「july_data
」と入力して [保存] をクリックします。
国 / 地域別の購入数を予測する
このクエリでは、国または地域ごとの訪問者による取引の数を予測し、結果を並べ替えて、購入数の上位 10 件を抽出します。
このクエリは ml.PREDICT
を使用し、BQML の部分は標準 SQL コマンドでラップされています。このラボでは、国とその国での購入の合計が必要なので、SELECT
、GROUP BY
、ORDER BY
を使用します。LIMIT
は結果を上位 10 件に制限するために使用しています。
以下のようなテーブルが表示されます。
もう一つ例を示します。今度は、各訪問者による取引の数を予測し、結果を並べ替えて、取引数の上位 10 人の訪問者を抽出します。
以下のようなテーブルが表示されます。
ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください