arrow_back

開始使用 BigQuery ML

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

開始使用 BigQuery ML

Lab 45 分钟 universal_currency_alt No cost show_chart 入门级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP247

Google Cloud 自修研究室標誌

總覽

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

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

實驗室內容

本實驗室的內容包括:

  • 建立 BigQuery 資料集
  • 在 BigQuery 建立、評估與使用機器學習模型

修課條件

為最大化學習效益,建議先具備 SQL 或 BigQuery 的基礎知識。

設定和需求

點選「Start Lab」按鈕前的須知事項

請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。

您將在真正的雲端環境中完成實作研究室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。

如要完成這個研究室活動,請先確認:

  • 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此研究室。這可以防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成研究室活動了!別忘了,活動一開始將無法暫停。
注意:如果您擁有個人 Google Cloud 帳戶或專案,請勿用於本研究室,以免產生額外費用。

如何開始研究室及登入 Google Cloud 控制台

  1. 按一下「Start Lab」(開始研究室) 按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側的「Lab Details」(研究室詳細資料) 面板會顯示下列項目:

    • 「Open Google Console」(開啟 Google 控制台) 按鈕
    • 剩餘時間
    • 必須在這個研究室中使用的暫時憑證
    • 完成這個研究室所需的其他資訊 (如有)
  2. 按一下「Open Google Console」(開啟 Google 控制台)。接著,研究室會啟動相關資源並開啟另一個分頁,當中會顯示「Sign in」(登入) 頁面。

    提示:您可以在不同的視窗中並排開啟分頁。

    注意事項:如果頁面中顯示了「Choose an account」(選擇帳戶) 對話方塊,請按一下「Use Another Account」(使用其他帳戶)
  3. 如有必要,請複製「Lab Details」(研究室詳細資料) 面板中的使用者名稱,然後貼到「Sign in」(登入) 對話方塊。按一下「Next」(下一步)

  4. 複製「Lab Details」(研究室詳細資料) 面板中的密碼,然後貼到「Welcome」(歡迎使用) 對話方塊。按一下「Next」(下一步)

    重要注意事項:請務必使用左側面板中的憑證,而非 Google Cloud 技能重點加強的憑證。 注意事項:如果使用自己的 Google Cloud 帳戶來進行這個研究室,可能會產生額外費用。
  5. 按過後續的所有頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:按一下畫面左上方的導覽選單,即可在選單中查看 Google Cloud 產品與服務的清單。「導覽選單」圖示

開啟 BigQuery 控制台

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

接著,畫面中會顯示「歡迎使用 Cloud 控制台中的 BigQuery」訊息方塊,當中會列出快速入門導覽課程指南的連結和版本資訊。

  1. 點選「完成」

BigQuery 控制台會隨即開啟。

工作 1:建立資料集

  1. 點選專案 ID 旁邊的「查看動作」圖示,然後選取「建立資料集」

「建立資料集」選項

  1. 將資料集 ID 命名為 bqml_lab,然後點選「建立資料集」

測試工作已完成

點選「Check my progress」,確認工作已完成。如果順利完成,就會看見評估分數。

建立 BigQuery 資料集

工作 2:建立模型

接著進行您的工作!

  1. 前往 BigQuery 編輯器,輸入或貼上以下查詢來建立模型,預測訪客是否會完成交易:
#standardSQL CREATE OR REPLACE MODEL `bqml_lab.sample_model` OPTIONS(model_type='logistic_reg') AS 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 100000;
  1. 點選「執行」

這裡使用以下條件判斷訪客是否會完成交易:訪客使用的作業系統、該裝置是否為行動裝置、訪客的國家/地區,以及網頁瀏覽次數。

在本例中,bqml_lab 是資料集名稱,而 sample_model 則是模型名稱。指定的模型類型是二元邏輯迴歸。在本例中,label 是您調整的依據。

注意:如果您只想處理 1 欄,這會是設定 input_label_cols 的替代方法。

訓練資料僅限於從 2016 年 8 月 1 日到 2017 年 6 月 30 日收集的資料,以保留最後一個月的資料來用於「預測」。為了節省時間,進一步將資料點限制為 100,000 個。

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

測試工作已完成

點選「Check my progress」,確認工作已完成。如果順利完成,就會看見評估分數。

建立模型來預測訪客交易

(非必要) 模型資訊與訓練統計資料

如果感興趣,您可以擴充 bqml_lab 資料集,然後點選 UI 中的 sample_model 模型來取得模型資訊。在「詳細資料」分頁下,您會找到一些基本的模型資訊,以及用於產生模型的訓練選項。在「訓練」下,您會看到資料表或圖表,顯示何者視「檢視方式」設定而定:

訓練資料表

訓練圖表

工作 3:評估模型

  • 將先前的查詢換成下列文字,然後點選「執行」
#standardSQL SELECT * FROM ml.EVALUATE(MODEL `bqml_lab.sample_model`, ( 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 '20170701' AND '20170801'));

如果和線性迴歸模型一併使用,上述查詢會傳回下列資料欄:

  • mean_absolute_errormean_squared_errormean_squared_log_error
  • median_absolute_errorr2_scoreexplained_variance

如果和邏輯迴歸模型一併使用,上述查詢會傳回下列資料欄:

  • precisionrecall
  • accuracyf1_score
  • log_lossroc_auc

請參閱「機器學習詞彙表」或進行 Google 搜尋,瞭解這些指標的計算方式和代表的意義。

您會發現查詢中的 SELECTFROM 部分和訓練時相同。WHERE 部分會反映時間範圍內的變化,而 FROM 部分則顯示您正在呼叫 ml.EVALUATE

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

邏輯迴歸模型查詢結果

測試工作已完成

點選「Check my progress」,確認工作已完成。如果順利完成,就會看見評估分數。

評估模型

工作 4:使用模型

預測各國家/地區的購買量

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

  • 將先前的查詢換成下列文字,然後點選「執行」
#standardSQL SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(totals.pageviews, 0) AS pageviews, IFNULL(geoNetwork.country, "") AS country FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801')) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;

這項查詢與前一部分所示的評估查詢非常類似。您這次使用 ml.PREDICT 來取代 ml.EVALUATE,且查詢的 BigQuery ML 部分是用標準 SQL 指令包裹。在本實驗室中,您感興趣的是國家/地區與各國家/地區的總購買量,所以選擇使用 SELECTGROUP BYORDER BYLIMIT 用來確保只會得到購買量前 10 多的結果。

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

十列國家/地區,且列有各國家/地區的總預測購買量

測試工作已完成

點選「Check my progress」,確認工作已完成。如果順利完成,就會看見評估分數。

預測各國家/地區的購買量

預測各使用者的購買量

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

  • 將先前的查詢換成下列文字,然後點選「執行」
#standardSQL SELECT fullVisitorId, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(totals.pageviews, 0) AS pageviews, IFNULL(geoNetwork.country, "") AS country, fullVisitorId FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801')) GROUP BY fullVisitorId ORDER BY total_predicted_purchases DESC LIMIT 10;

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

十列完整的訪客 ID,且列有各訪客的總預測購買量

測試工作已完成

點選「Check my progress」,確認工作已完成。如果順利完成,就會看見評估分數。

預測各使用者的購買量

工作 5:隨堂測驗

您可透過下列選擇題更清楚瞭解本實驗室的概念。盡力回答即可。

恭喜!

您使用 BigQuery ML 來建立及評估二元邏輯迴歸模型,並使用模型進行預測。

後續行動/瞭解詳情

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 2 月 22 日

實驗室上次測試日期:2024 年 2 月 22 日

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