
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
このラボでは、データ アナリストの方を対象に BigQuery ML を紹介します。BigQuery ML を使用すると、BigQuery で SQL クエリを使用して機械学習モデルを作成して実行できます。ここでは、num_trials
トレーニング オプションを指定するハイパーパラメータ調整の方法を紹介します。
このラボでは、tlc_yellow_trips_2018
サンプル テーブルを使用して、タクシー移動のチップ代を予測するモデルを作成します。ハイパーパラメータ調整を使用することで、パフォーマンス(r2_score)が約 40% 改善されることがわかります。
このラボでは、BigQuery ML を使用して以下の作業を行います。
num_trials
を 20 に設定した CREATE MODEL
ステートメントを使用して線形回帰モデルを作成するML.TRIAL_INFO
関数を使用して 20 回のトライアルすべての概要を確認するML.EVALUATE
関数を使用して ML モデルを評価するML.PREDICT
関数を使用して予測を行う各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00
)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
まず、トレーニング データと ML モデルを格納する BigQuery データセットを作成します。データセットを作成するには、次の操作を行います。
このタスクでは、10 万行のトレーニング入力テーブルを実体化します。
ソーステーブル tlc_yellow_trips_2018 のスキーマを表示します(このリンクを新しいタブで開きます)。
[クエリを新規作成] をクリックして、次のクエリをクエリ エディタのテキスト領域に貼り付けて、トレーニング用の入力データテーブルを作成します。
tlc_yellow_trips_2018
サンプル テーブルを使用して、ハイパーパラメータを調整した線形回帰モデルを作成します。ハイパーパラメータを調整したモデルの作成には、次の標準 SQL クエリを使用します。
LINEAR_REG モデルには、調整できるハイパーパラメータが 2 つ(l1_reg
および l2_reg
)あります。前述のクエリはデフォルトの検索空間を使用しています。検索空間は、明示的に指定することもできます。
また、次のハイパーパラメータ調整トレーニング オプションもデフォルト値を使用します。
"VIZIER_DEFAULT"
["r2_score"]
調整処理を高速化するために、max_parallel_trials
は 2 に設定されています。常に 2 つのトライアルを同時に実行するため、調整全体にかかる時間が、20 回ではなく 10 回のトレーニング ジョブを連続で行う場合と同程度になります。ただし、2 つのトライアルを同時に実行する場合、互いのトレーニング結果からの恩恵は得られません。
モデルを作成してトレーニングする CREATE MODEL
クエリを実行するには、次の操作を行います。
Cloud Console で、[クエリを新規作成] をクリックします。
クエリ エディタのテキスト領域に標準 SQL クエリ(上記)を入力します。
[実行] をクリックします。 クエリの完了には、約 17 分かかります。
調整の進捗状況は、[実行の詳細] の [ステージ] から確認できます。
ML.TRIAL_INFO
関数を使用します。SQL の実行後に Cloud コンソールに結果が表示されます。この SQL クエリは、1 つのトライアルの完了後すぐに実行できます。調整が途中で停止している場合でも、すでに終了しているトライアルはすべて使用できます。
モデルの作成後、ML.EVALUATE
関数または Google Cloud コンソールを使用して、すべてのトライアルの評価指標を表示できます。
この SQL は、TEST データから計算されたトライアルすべての評価指標を取得します。
ML.TRIAL_INFO
目標と ML.EVALUATE
評価指標の違いについては、データ分割セクションをご覧ください。また、独自のデータを指定して特定のトライアルを評価することもできます。詳しくは、ML.EVALUATE をご覧ください。
評価指標は、[モデル] の [評価] タブを表示して確認することもできます。
モデルを評価したら、次のステップではそのモデルを使用してタクシーのチップ代を予測します。
最初の SELECT
ステートメントで、predicted_label
列を含むすべての列を取得します。この列は ML.PREDICT
関数によって生成されます。ML.PREDICT
関数を使用した場合、モデルの出力列名が predicted_label_column_name
になります。
デフォルトでは、最適なトライアルに対して予測が行われます。
trial_id
パラメータを指定して、別のトライアルを選択することもできます。モデル提供関数を使用する方法の詳細については、ML.PREDICT をご覧ください。
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。
プロジェクトを削除すると、プロジェクト内のデータセットとテーブルがすべて削除されます。プロジェクトを再利用する場合は、このチュートリアルで作成したデータセットを削除します。
BigQuery ML を使用して以下を行う方法を学びました。
num_trials
を 20 に設定した CREATE MODEL
ステートメントを使用して線形回帰モデルを作成するML.TRIAL_INFO
関数を使用して 20 回のトライアルすべての概要を確認するML.EVALUATE
関数を使用して ML モデルを評価するML.PREDICT
関数を使用して予測を行うラボでの学習が完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Qwiklabs から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバック、ご提案、修正が必要な箇所については、[サポート] タブからお知らせください。
Copyright 2020 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください