搭配 BigQuery 使用 Colab Enterprise 資料科學代理
Colab Enterprise 和 BigQuery 的資料科學代理 (DSA) 可在 Colab Enterprise 筆記本中,自動執行探索性資料分析、機器學習工作,以及提供洞察資訊。
事前準備
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
-
啟用 BigQuery、Vertex AI、Dataform 和 Compute Engine API。
啟用 API 時所需的角色
如要啟用 API,您需要服務使用情形管理員 IAM 角色 (
roles/serviceusage.serviceUsageAdmin),其中包含serviceusage.services.enable權限。瞭解如何授予角色。新專案會自動啟用 BigQuery API。
如果您剛開始使用 BigQuery 中的 Colab Enterprise,請參閱「建立筆記本」頁面的設定步驟。
限制
- 資料科學代理僅適用於 Colab Enterprise 環境。
- 資料科學代理支援下列資料來源:
- CSV 檔案
- BigQuery 資料表
- 資料科學代理產生的程式碼只會在筆記本的執行階段中執行。
- 如果專案已啟用 VPC Service Controls,則不支援資料科學代理。
- 使用
@mention函式搜尋 BigQuery 資料表時,只能搜尋目前專案。使用資料表選取器在專案中搜尋。 @mention函式只會搜尋 BigQuery 資料表。 如要搜尋可上傳的資料檔案,請使用+符號。- 資料科學代理中的 PySpark 只會生成 Managed Service for Apache Spark 4.0 程式碼。DSA 可協助您升級至 Managed Service for Apache Spark 4.0,但如果需要使用舊版,則不應使用資料科學代理。
何時使用資料科學代理
資料科學代理可協助您處理各種工作,包括探索性資料分析,以及生成機器學習預測和預報。動態搜尋廣告的用途如下:
- 大規模資料處理:使用 BigQuery ML、BigQuery DataFrames 或 Managed Service for Apache Spark,對大型資料集執行分散式資料處理作業。這樣您就能有效率地清除、轉換及分析資料,即使資料過大,無法放入單一機器的記憶體也沒問題。
- 生成計畫:生成及修改計畫,使用 Python、SQL、Managed Service for Apache Spark 和 BigQuery DataFrames 等常見工具完成特定工作。
- 資料探索:探索資料集以瞭解其結構、找出潛在問題 (例如遺漏值和離群值),並使用 Python 或 SQL 檢查重要變數的分布情形。
- 資料清理:清理資料。舉例來說,您可以移除離群值資料點。
- 資料整理:使用單一熱編碼或標籤編碼等技術,或使用 BigQuery ML 特徵轉換工具,將類別特徵轉換為數值表示法。建立新的分析功能。
- 資料分析:分析不同變數之間的關係。計算數值特徵之間的關聯性,並探索類別特徵的分布情形。找出資料中的模式和趨勢。
- 資料視覺化:建立直方圖、箱形圖、散布圖和長條圖等視覺化內容,呈現個別變數的分布情形和變數之間的關係。您也可以使用 Python,為儲存在 BigQuery 中的資料表建立視覺化效果。
- 特徵工程:從經過清理的資料集設計新特徵。
- 資料分割:將經過工程處理的資料集分割為訓練、驗證和測試資料集。
- 模型訓練:使用 pandas DataFrame (
X_train、y_train)、BigQuery DataFrame、PySpark DataFrame 中的訓練資料,或使用 BigQuery MLCREATE MODEL陳述式和 BigQuery 資料表,訓練模型。 - 模型最佳化:使用驗證集將模型最佳化。
探索
DecisionTreeRegressor和RandomForestRegressor等替代模型,並比較其效能。 - 模型評估:使用 pandas DataFrame、BigQuery DataFrames 或 PySpark DataFrame,評估測試資料集的模型效能。您也可以使用 BigQuery ML 模型評估函式,評估模型品質並比較模型,適用於使用 BigQuery ML 訓練的模型。
- 模型推論:使用 BigQuery ML 推論函式,對 BigQuery ML 訓練的模型、匯入的模型和遠端模型執行推論作業。您也可以使用 BigFrames
model.predict()方法或 PySpark 轉換器進行預測。
在 BigQuery 中使用資料科學代理
下列步驟說明如何在 BigQuery 中使用資料科學代理。
建立或開啟 Colab Enterprise 筆記本。
選用:透過下列任一方式參照資料:
- 上傳 CSV 檔案,或在提示中使用
+符號搜尋可用檔案。 - 在資料表選取器中,從目前專案或您有權存取的其他專案,選擇一或多個 BigQuery 資料表。
- 在提示中參照 BigQuery 資料表名稱,格式如下:
project_id:dataset.table。 - 輸入
@符號,使用@mention函式搜尋 BigQuery 資料表名稱。
- 上傳 CSV 檔案,或在提示中使用
輸入提示,說明要執行的資料分析或要建構的原型。Data Science Agent 的預設行為是使用 sklearn 等開放原始碼程式庫生成 Python 程式碼,以完成複雜的機器學習工作。如要使用特定工具,請在提示中加入下列關鍵字:
- 如要使用 BigQuery ML,請加入「SQL」關鍵字。
- 如要使用「BigQuery DataFrames」,請指定「BigFrames」或「BigQuery DataFrames」關鍵字。
- 如要使用 PySpark,請加入「Apache Spark」或「PySpark」關鍵字。
如需協助,請參閱提示範例。
查看結果。
分析 CSV 檔案
如要在 BigQuery 中使用資料科學代理程式分析 CSV 檔案,請按照下列步驟操作。
前往「BigQuery」頁面
在 BigQuery Studio 歡迎頁面中,按一下「建立新項目」下方的「筆記本」。
或者,在分頁列中,按一下 + 圖示旁的下拉式箭頭,然後依序點選「筆記本」> 空白筆記本。
按一下「Toggle Gemini in Colab」按鈕,開啟即時通訊對話方塊。
上傳 CSV 檔案。
在即時通訊對話方塊中,依序點選「新增至 Gemini」> 上傳。
視需要授權 Google 帳戶。
瀏覽至 CSV 檔案所在位置,然後按一下「開啟」。
或者,在提示中輸入
+符號,搜尋可上傳的檔案。在對話視窗中輸入提示詞。例如:
Identify trends and anomalies in this file.按一下「傳送」。結果會顯示在聊天視窗中。
你可以要求服務專員變更計畫,也可以按一下「接受並執行」來運作執行。計畫執行時,筆記本中會顯示生成的程式碼和文字。按一下「取消」即可停止。
分析 BigQuery 資料表
如要分析 BigQuery 資料表,請在資料表選取器中選擇一或多個資料表,在提示中提供資料表參照,或使用 @ 符號搜尋資料表。
前往「BigQuery」頁面
在 BigQuery Studio 歡迎頁面中,按一下「建立新項目」下方的「筆記本」。
或者,在分頁列中,按一下 + 圖示旁的下拉式箭頭,然後依序點選「筆記本」> 空白筆記本。
按一下「Toggle Gemini in Colab」按鈕,開啟即時通訊對話方塊。
在對話視窗中輸入提示。
請透過下列任一方式參照資料:
使用表格選取器選擇一或多個表格:
依序點選 「新增至 Gemini」> BigQuery 資料表。
在「BigQuery tables」(BigQuery 資料表) 視窗中,選取專案中的一或多個資料表。您可以在專案中搜尋表格,並使用搜尋列篩選表格。
直接在提示中加入 BigQuery 資料表名稱。 例如:「請協助我對這個表格中的資料執行探索性資料分析,並取得相關洞察:
project_id:dataset.table。」更改下列內容:
project_id:專案 IDdataset:含有您要分析之資料表的資料集名稱table:要分析的資料表名稱
輸入
@,在目前專案中搜尋 BigQuery 資料表。
按一下 「傳送」。
結果會顯示在聊天視窗中。
你可以要求服務專員變更計畫,也可以按一下「接受並執行」來運作執行。計畫執行時,筆記本中會顯示生成的程式碼和文字。如要執行方案中的其他步驟,您可能需要再次按一下「接受並執行」。按一下「取消」即可停止。
提示範例
無論提示詞有多複雜,資料科學代理都會生成計畫,您可以根據需求調整。
以下範例說明動態搜尋廣告可使用的提示類型。
Python 提示
除非在提示中使用「BigQuery ML」或「SQL」等特定關鍵字,否則系統預設會生成 Python 程式碼。
- 使用 k-Nearest Neighbors (KNN) 機器學習演算法,調查並填補遺漏值。
- 根據經驗程度繪製薪資圖。使用
experience_level欄分組薪資,並為每個群組建立盒鬚圖,顯示salary_in_usd欄中的值。 - 使用 XGBoost 演算法建立模型,判斷特定水果的
class變數。將資料分成訓練和測試資料集,以生成模型並判斷模型的準確度。建立混淆矩陣,顯示每個類別的預測結果,包括所有正確和不正確的預測。 - 未來六個月的預測
target_variable(filename.csv)。
SQL 和 BigQuery ML 提示
- 使用 BigQuery SQL 建立及評估分類模型。
bigquery-public-data.ml_datasets.census_adult_income - 使用 SQL,根據
bigquery-public-data.google_analytics_sample.ga_sessions_*預測下個月的網站流量。 接著,繪製歷史值和預測值。 - 使用 KMeans 模型和 BigQuery ML SQL 函式,將類似的顧客歸為一組,以便建立目標市場廣告活動。使用三項特徵進行分群。接著建立一系列 2D 散佈圖,以視覺化呈現結果。使用表格
bigquery-public-data.ml_datasets.census_adult_income。 - 使用
bigquery-public-data.imdb.reviews中的評論內容,在 BigQuery ML 中生成文字嵌入。
如需支援的模型和機器學習工作清單,請參閱 BigQuery ML 說明文件。
DataFrame 提示
- 為
project_id:dataset.table中的資料建立 pandas DataFrame。 分析資料中的空值,然後使用圖表類型繪製每個資料欄的分布圖。使用小提琴圖表示測量值,並使用長條圖表示類別。 - 讀取
filename.csv並建構 DataFrame。對 DataFrame 執行分析,判斷如何處理值。舉例來說,是否有需要替換或移除的遺漏值, 或是需要處理的重複資料列。使用資料檔案,判斷每個城市地點的美元投資金額分布。使用長條圖繪製前 20 項結果,並以「地點」與「平均投資金額 (美元)」的降序顯示結果。 - 使用 BigQuery DataFrame 建立及評估分類模型。
project_id:dataset.table - 使用 BigQuery DataFrame 在
project_id:dataset.table建立時間序列預測模型,並以視覺化方式呈現模型評估結果。 - 使用 BigQuery DataFrames,以圖表呈現 BigQuery 資料表
project_id:dataset.table中過去一年的銷售數據。 - 使用 BigQuery DataFrames,從
bigquery-public_data.ml_datasets.penguins資料表找出最能預測企鵝物種的特徵。
PySpark 提示
- 使用 Managed Service for Apache Spark,在
project_id:dataset.table上建立及評估分類模型。 - 將類似的顧客分組,建立指定目標市場廣告活動,但請先使用 PCA 模型進行降維。請使用 PySpark 在資料表
project_id:dataset.table上執行這項操作。
關閉 Gemini in BigQuery
如要為 Cloud de Confiance 專案停用 Gemini in BigQuery,管理員必須停用 Gemini for Google Cloud API。請參閱「停用服務」。
如要為特定使用者停用 Gemini in BigQuery,管理員必須撤銷該名使用者的「Gemini for Google Cloud 使用者」 (roles/cloudaicompanion.user) 角色。詳情請參閱撤銷單一 IAM 角色。
定價
在預先發布期間,您需要為在筆記本執行階段中執行的程式碼,以及使用的任何 BigQuery 運算單元付費。詳情請參閱 Colab Enterprise 定價。
支援的地區
如要查看 Colab Enterprise 資料科學代理支援的地區,請參閱「位置」。