跳至主要內容
ESC
Study Jam:數據與 AI 基礎 — 第 5/12 篇

BigQuery ML 建模實戰

GCP

課程概述

BigQuery ML(BQML)讓資料分析師不用學 Python 或 TensorFlow,直接在 BigQuery 裡用 SQL 就能建立、訓練、部署機器學習模型。資料也不用搬到別的平台,從「看到資料」到「跑出預測模型」的時間就短很多。這門課會帶你從零做出第一個 BQML 模型,並學會怎麼評估它、怎麼拿它來預測。

你將學到

  • 使用 CREATE MODEL 語法建立線性迴歸與邏輯迴歸模型
  • 使用 ML.EVALUATE 評估模型效能指標
  • 使用 ML.PREDICT 對新資料進行預測
  • 理解 BQML 支援的模型類型與適用場景
  • 將 BQML 模型匯出至 Vertex AI 進行線上服務

核心概念

BigQuery ML 的定位

傳統 ML 工作流要走這幾步:匯出資料 → 預處理 → 選框架 → 訓練 → 評估 → 部署。BQML 把這一整串都收進 BigQuery,全用 SQL 搞定。哪些人特別適合用它?

  • 熟悉 SQL 但不熟悉 Python 的資料分析師
  • 需要快速驗證 ML 想法的資料科學家
  • 想在不搬移資料的情況下建立模型的團隊

支援的模型類型

模型類型SQL 關鍵字典型場景
線性迴歸LINEAR_REG預測銷售額、溫度
邏輯迴歸LOGISTIC_REG客戶流失預測、垃圾郵件分類
K-Means 聚類KMEANS客戶分群、異常偵測
XGBoostBOOSTED_TREE_CLASSIFIER/REGRESSOR高精確度分類與迴歸
DNNDNN_CLASSIFIER/REGRESSOR複雜非線性關係
ARIMA PlusARIMA_PLUS時間序列預測
匯入模型TENSORFLOW使用自訓練 TF 模型

建模流程

-- Step 1: 建立模型
CREATE OR REPLACE MODEL `dataset.my_model`
OPTIONS(model_type='LOGISTIC_REG', input_label_cols=['label'])
AS SELECT * FROM `dataset.training_data`;

-- Step 2: 評估模型
SELECT * FROM ML.EVALUATE(MODEL `dataset.my_model`);

-- Step 3: 預測
SELECT * FROM ML.PREDICT(MODEL `dataset.my_model`,
  (SELECT * FROM `dataset.new_data`));

模型評估指標

  • 迴歸模型:關注 mean_squared_error(越低越好)和 r2_score(越接近 1 越好)
  • 分類模型:關注 accuracyprecisionrecallf1_score
  • AUC-ROC:邏輯迴歸的核心指標,0.5 表示隨機猜測,1.0 表示完美分類

實作重點

  • CREATE MODEL 語句會啟動訓練 Job,大型資料集可能需要數分鐘到數十分鐘
  • TRANSFORM 子句可以在建模時一併把特徵工程定義好,這樣預測時就會自動套同一套轉換,不會兩邊兜不起來
  • 想知道模型用了哪些特徵、哪個比較重要,用 ML.FEATURE_INFO
  • 常見的雷:類別資訊如果是用數字編碼的(例如 0/1/2 代表三種分類),BQML 會把它誤當成連續數值特徵,要先 CAST 成 STRING,它才會當類別特徵去做 one-hot 編碼
  • 成本提醒:BQML 訓練按資料掃描量計費,建議先用小資料集測試查詢邏輯

Skill Badge 指引

Lab 連結Create ML Models with BigQuery ML — 完成此 lab 可獲得 Skill Badge

延伸學習

Study Jam:數據與 AI 基礎 — 5/12 完成 查看系列全覽 →

留言討論

徽章解鎖!