arrow_back

運用 BigQuery ML 預測訪客購物行為

登录 加入
访问 700 多个实验和课程

運用 BigQuery ML 預測訪客購物行為

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

總覽

BigQuery 機器學習 (BigQuery ML) 可讓使用者運用 SQL 查詢,在 BigQuery 建立並執行機器學習模型,目標是讓 SQL 使用者能透過現有的工具建立模型,而且不必移動資料,可加快開發速度,使所有人都能輕鬆使用機器學習技術。

BigQuery 已載入電子商務資料集,其中包含數百萬筆 Google Analytics 的 Google 商品網路商店記錄。在本實驗室中,您將使用這些資料建立模型,預測訪客是否會完成交易。

課程內容

如何在 BigQuery 建立、評估與使用機器學習模型

事前準備

設定和需求

在每個研究室中,您都能在固定時間內免付費建立新的 Google Cloud 專案,並使用一組資源。

  1. 請透過無痕式視窗登入 Qwiklabs。

  2. 請記下研究室的存取時間 (例如 1:15:00),並確保自己能在時間限制內完成作業。
    研究室不提供暫停功能。如有需要,您可以重新開始,但原先的進度恕無法保留。

  3. 準備就緒後,請按一下「Start lab」

  4. 請記下研究室憑證 (使用者名稱密碼),這組資訊將用於登入 Google Cloud 控制台。

  5. 按一下「Open Google Console」

  6. 按一下「Use another account」,然後複製這個研究室的憑證,並貼入提示訊息。
    如果使用其他憑證,系統會顯示錯誤或向您收取費用

  7. 接受條款,然後略過資源復原頁面。

開啟 BigQuery 控制台

  1. 在 Google Cloud 控制台中,依序選取「導覽選單」>「BigQuery」

接著,畫面中會顯示「歡迎使用 Cloud 控制台中的 BigQuery」訊息方塊,當中會列出快速入門指南的連結和使用者介面更新內容。

  1. 按一下「完成」

工作 1:建立資料集

  1. 在專案中建立新資料集:在「Explorer」部分點選專案 ID 旁的三點圖示,按一下「建立資料集」

「建立資料集」對話方塊會隨即開啟

  1. 在「資料集 ID」輸入 bqml_lab,點選「建立資料集」(接受其他預設值)。

工作 2:探索資料

本實驗室要使用的資料位於 bigquery-public-data 專案,所有人皆可存取。我們來看看這些資料範例。

  1. 在「未命名的查詢」方塊中新增查詢,點選「執行」按鈕。
#standardSQL SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20160801' AND '20170631' LIMIT 10000;

資料表有許多欄,但我們只需其中幾欄來建立 ML 模型。這裡使用下列條件判斷訪客是否會完成交易:訪客裝置使用的作業系統、該裝置是否為行動裝置、訪客的國家/地區,以及網頁瀏覽次數。在本例中,label 是您調整或預測的依據。

這些資料會成為您所建立 ML 模型的訓練資料,且僅限從 2016 年 8 月 1 日到 2017 年 6 月 31 日收集的資料,以保留最後一個月的資料來用於「預測」。為了節省時間,進一步將資料點限制為 10,000 個。

  1. 接著將資料儲存為訓練資料。點選「儲存」,從下拉式選單選取「儲存檢視表」,將這個查詢儲存為 view。在彈出式視窗中,「資料集」選取 bqml_lab,「資料表名稱」輸入 training_data,然後點選「儲存」

工作 3:建立模型

  • 現在將查詢換成下列內容,建立模型來預測訪客是否會完成交易:
#standardSQL CREATE OR REPLACE MODEL `bqml_lab.sample_model` OPTIONS(model_type='logistic_reg') AS SELECT * from `bqml_lab.training_data`;

在本例中,bqml_lab 是資料集名稱,sample_model 是模型名稱,training_data 則是前一項工作查看的交易資料。指定的模型類型是二元邏輯迴歸。

執行 CREATE MODEL 指令會建立非同步執行的查詢工作,這樣就能關閉或重新整理 BigQuery UI 視窗等。

[非必要] 模型資訊與訓練統計資料

如果感興趣,您可以點選左選單中的 bqml_lab 資料集,按一下 UI 中的 sample_model 模型來取得模型資訊。在「詳細資料」下,您會找到一些基本的模型資訊,以及用於產生模型的訓練選項。在「訓練」下,您會看見類似下方的資料表:

有六個資料欄的資料表,顯示 11 列關於疊代、資料遺失、學習率,以及完成時間等資料

工作 4:評估模型

  • 現在將查詢換成下列內容:
#standardSQL SELECT * FROM ml.EVALUATE(MODEL `bqml_lab.sample_model`);

在本查詢中,您使用 ml.EVALUATE 函式,根據實際資料評估預測值,該函式提供一些與模型成效相關的指標。您會看見類似下方的資料表:

結果資料表

工作 5:使用模型

  1. 現在點選「SQL 查詢」並執行下列查詢:
#standardSQL SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews, fullVisitorId FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801';

您會發現查詢中的 SELECTFROM 部分,與用於產生訓練資料的部分類似。另外還有 fullVisitorId 欄,您可以用該欄預測個別使用者的交易。WHERE 部分則反映時間範圍 (2017 年 7 月 1 日至 8 月 1 日) 內的變化。

  1. 接著儲存 7 月的資料,在接下來的兩個步驟,使用該資料和我們的模型進行預測。點選「儲存」,從下拉式選單選取「儲存檢視表」,將這個查詢儲存為 view。在彈出式視窗中,「資料集」選取 bqml_lab,「資料表名稱」輸入 july_data,然後點選「儲存」

  2. 預測各國家/地區的購物行為

透過這項查詢,您將嘗試預測各國家/地區訪客的交易量、排序結果,並選出購買量前 10 多的國家/地區:

#standardSQL SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;

本次查詢使用的是 ml.PREDICT,且查詢的 BigQuery ML 部分是用標準 SQL 指令包裹。在本實驗室中,您感興趣的是國家/地區與各國家/地區的總購買量,所以選擇使用 SELECTGROUP BYORDER BYLIMIT 則用於確保只會取得購買量前 10 多的結果。

您會看見類似下方的資料表:

有三個資料欄的資料表,顯示 10 列每個國家/地區的總預測購買量

  1. 預測各使用者的購買量

我們再看另一個例子。這次,您將嘗試預測各訪客的交易量、排序結果,並選出交易量前 10 多的訪客:

#standardSQL SELECT fullVisitorId, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY fullVisitorId ORDER BY total_predicted_purchases DESC LIMIT 10;

您會看見類似下方的資料表:

有三個資料欄的資料表,顯示 10 列每個完整訪客 ID 的總預測購買量

關閉研究室

如果您已完成研究室,請按一下「End Lab」(關閉研究室)。Google Cloud Skills Boost 會移除您使用的資源,並清除所用帳戶。

您可以針對研究室的使用體驗評分。請選取合適的星級評等並提供意見,然後按一下「Submit」(提交)

星級評等代表您的滿意程度:

  • 1 星 = 非常不滿意
  • 2 星 = 不滿意
  • 3 星 = 普通
  • 4 星 = 滿意
  • 5 星 = 非常滿意

如果不想提供意見回饋,您可以直接關閉對話方塊。

如有任何想法、建議或指教,請透過「Support」(支援) 分頁提交。

Copyright 2022 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。