BigQuery-打造機器學習

BigQuery打造預測模型,預測GA4數據|BigQueryML

BigQuery除了可以幫GA4數據保存以外,他也提供數據應用的方式,其中包含SQL的深度數據分析,我想最讓人期待的應該是機器學習,利用現有的數據進行未來的預測。本篇文章會透過BigQueryML教你打造數據預測模型。務必看這一篇文章前,GA4已經有做好與BigQuery的串接,且有一定量的數據可進行模型製作。

本篇內容需要對SQL、PYTHON一定的深度,以進行機器學習(ML)模型的打造。

教學前需知

甚麼是機器學習 (Machine Learning)

透過數學公式將目前有的數據 (已清理),進行模型的訓練,以及預測。當未來如果有新的資料時,就可以透過你的模型,將數據置入,並且透過打造好的模型,進行數據預測。題外話,其實這一項功能在GA4內建就有。

開始付款專案

開始bigquery付款專案

開始使用BigQuery時,務必確認開啟專案的付款模式。BigQueryAPI, BigQueryML都需要在已經開啟付款的專案下進行。

BigQuery 機器學習

確立想要預測的數據

本篇透過消費者在網站上的停留、事件行為,進行「是否會購買」的數據預測。如果你有其他的想要進行預測的,都可以透過查詢SQL調閱對應的資料,接著最後在於SQL最上方創立一個VIEW的虛擬表格,以提供下一步驟機器學習的數據導入。

sql-bigquery查詢

創立view

創立view目的是於下一步,需要將數據導入模型供與學習,增加效率、畫面簡潔。VIEW可以提供SQL查詢時的效率、以及安全性,他的概念是產生一張虛擬資料表,view這張表示不存在的,但是裡面的資料卻是可以查詢、進行結構變更。

例如上面的例子。因為有上百行的SQL查詢,我就先創立view,在後續我就只要打上以下,就可以代替上百行程式碼的查詢。

創立好沒問題後,你可以看到左邊選單中的資料叢集下,已經多一個我創立好的VIEW (ga_view)。

SQL創立VIEW

下圖則是將view的資料表進行資料的查詢。可以看到只打上一行,就可以顯示我要的資料。

查詢SQL

建立機器學習模型

透過以下語法,引入我剛剛建立view的數據,可以看到第六行,就是只有一行,而不是上百行很負責的SQL查詢。都輸入好後就直接按下執行,BigQuery就會開始從view導入數據,進行機器學習的模型訓練。

BigQuery提供以下的ML模型,詳情可以直接參考Google BigQuery的官方文件,讓我們可以進行預測數據。

  • 線性迴歸用於預測。 例如,此模型可以預測給定日期的商品銷售額。 標籤為實值,也就是說,標籤不能為正無窮大、負無窮大或 NaN(非數字)。
  • 邏輯迴歸用於對兩個或多個可能值進行分類,例如輸入是 low-value、medium-value 還是 high-value。 標籤最多可包含 50 個唯一值。
  • K-means 聚類用於資料細分。 例如,此模型可識別客戶細分。 K-means 是一種非監督式學習技術,因此模型訓練不需要標籤,也不需要為訓練或評估拆分資料。
  • 矩陣分解用於建立產品推薦系統。 您可以使用歷史客戶行為、交易和產品評分來建立產品推薦,然後使用這些推薦來打造個人化的客戶體驗。
  • 主成分分析 (PCA) 是計算主成分並使用主成分來轉換資料的過程。 它通常用於資料降維,具體方法是將每個資料點僅投影到前幾個主要成分上,從而獲得維度較低的數據,並保留盡可能多的資料差異性。
bigquery模型訓練

下方是BigQuery進行模型訓練的情況。

bigquery模型訓練

完成後,這一個ga4_purchase_model會出現在你的左列選單中,可以供未來使用。請注意,機器學習的範圍會關於統計學很多專有名詞,也需要先判斷這個模型的預測能力好壞,如果預測能力不好,就表示你在第一步選擇特徵時,沒有挑選到核心關鍵,那就務必透過修改最一開始SQL的查詢,找出關鍵的特徵,提高模型訓練的準確度。

建議剛開始接觸機器學習,可以直接以「預測資料vs實際資料」的情形比較,自然就會比較簡單好懂。

bigquery模型訓練
bigquery模型訓練

查看一下模型表現概況,主要看一下模型的預測能力好不好,通常會看一下左邊那一排的指標 。

  1. 查全率(Recall):
    表示真實正類樣本中,被模型正確預測為正的比例。
  2. 查準率(Precision):
    表示模型預測的正樣本中,真正正確的比例。
  3. 準確率(Accuracy):
    表示模型正確預測的總樣本數占總樣本數的比例。
  4. F1 分數(F1 Score):
    精確度和喚回度的調和平均值,用於平衡精確度和喚回度之間的關係。
  5. 對數損失(Log Loss):
    用來評估分類模型預測概率的指標,值越小表示模型預測的概率越準確。另外也可以用cost function/ loss function來衡量預測的準確度,
  6. ROC AUC:
    Receiver Operating Characteristic (ROC) 曲線下的面積,用來評估模型分類預測的能力。ROC 曲線是以假正率(False Positive Rate)為橫軸,真正率(True Positive Rate,即查全率)為縱軸的曲線,ROC AUC 值越接近1,模型性能越好。
bigquery模型的預測能力

BigQueryML預測結果

可以透過呼叫模型,查看模型對於實際數據的預測。基本上準確度超高,可以直接做其他數據的預測。

BigQueryML預測結果

總結

BigQuery雖然常常說可以拿來永久保存數據,但我認為最有價值的還是對於數據應用、深度數據分析,以及本篇文章所教機器學習模型的打造。機器學習的應用,取局於個人數據分析的思維,包括你要預測甚麼資料,如何找出關鍵特徵,並訓練模型等,具有多元玩法,將數據玩出不一樣的可行性。

error: