搭配 BigQuery 使用 Colab Enterprise 資料科學代理

Colab Enterprise 和 BigQuery 的資料科學代理 (DSA) 可在 Colab Enterprise 筆記本中,自動執行探索性資料分析、機器學習工作,以及提供洞察資訊。

事前準備

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Cloud de Confiance project.

  3. 啟用 BigQuery、Vertex AI、Dataform 和 Compute Engine API。

    啟用 API 時所需的角色

    如要啟用 API,您需要服務使用情形管理員 IAM 角色 (roles/serviceusage.serviceUsageAdmin),其中包含 serviceusage.services.enable 權限。瞭解如何授予角色

    啟用 API

    新專案會自動啟用 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_trainy_train)、BigQuery DataFramePySpark DataFrame 中的訓練資料,或使用 BigQuery ML CREATE MODEL 陳述式和 BigQuery 資料表,訓練模型。
  • 模型最佳化:使用驗證集將模型最佳化。 探索 DecisionTreeRegressorRandomForestRegressor 等替代模型,並比較其效能。
  • 模型評估:使用 pandas DataFrame、BigQuery DataFrames 或 PySpark DataFrame,評估測試資料集的模型效能。您也可以使用 BigQuery ML 模型評估函式,評估模型品質並比較模型,適用於使用 BigQuery ML 訓練的模型。
  • 模型推論:使用 BigQuery ML 推論函式,對 BigQuery ML 訓練的模型、匯入的模型和遠端模型執行推論作業。您也可以使用 BigFrames model.predict() 方法或 PySpark 轉換器進行預測。

在 BigQuery 中使用資料科學代理

下列步驟說明如何在 BigQuery 中使用資料科學代理。

  1. 建立或開啟 Colab Enterprise 筆記本。

  2. 選用:透過下列任一方式參照資料:

    • 上傳 CSV 檔案,或在提示中使用 + 符號搜尋可用檔案。
    • 在資料表選取器中,從目前專案或您有權存取的其他專案,選擇一或多個 BigQuery 資料表。
    • 在提示中參照 BigQuery 資料表名稱,格式如下:project_id:dataset.table
    • 輸入 @ 符號,使用 @mention 函式搜尋 BigQuery 資料表名稱。
  3. 輸入提示,說明要執行的資料分析或要建構的原型。Data Science Agent 的預設行為是使用 sklearn 等開放原始碼程式庫生成 Python 程式碼,以完成複雜的機器學習工作。如要使用特定工具,請在提示中加入下列關鍵字:

    • 如要使用 BigQuery ML,請加入「SQL」關鍵字。
    • 如要使用「BigQuery DataFrames」,請指定「BigFrames」或「BigQuery DataFrames」關鍵字。
    • 如要使用 PySpark,請加入「Apache Spark」或「PySpark」關鍵字。

    如需協助,請參閱提示範例

  4. 查看結果。

分析 CSV 檔案

如要在 BigQuery 中使用資料科學代理程式分析 CSV 檔案,請按照下列步驟操作。

  1. 前往「BigQuery」頁面

    前往「BigQuery」

  2. 在 BigQuery Studio 歡迎頁面中,按一下「建立新項目」下方的「筆記本」

    或者,在分頁列中,按一下 + 圖示旁的下拉式箭頭,然後依序點選「筆記本」> 空白筆記本

  3. 按一下「Toggle Gemini in Colab」按鈕,開啟即時通訊對話方塊。

  4. 上傳 CSV 檔案。

    1. 在即時通訊對話方塊中,依序點選「新增至 Gemini」> 上傳

    2. 視需要授權 Google 帳戶。

    3. 瀏覽至 CSV 檔案所在位置,然後按一下「開啟」

  5. 或者,在提示中輸入 + 符號,搜尋可上傳的檔案。

  6. 在對話視窗中輸入提示詞。例如:Identify trends and anomalies in this file.

  7. 按一下「傳送」。結果會顯示在聊天視窗中。

  8. 你可以要求服務專員變更計畫,也可以按一下「接受並執行」來運作執行。計畫執行時,筆記本中會顯示生成的程式碼和文字。按一下「取消」即可停止。

分析 BigQuery 資料表

如要分析 BigQuery 資料表,請在資料表選取器中選擇一或多個資料表,在提示中提供資料表參照,或使用 @ 符號搜尋資料表。

  1. 前往「BigQuery」頁面

    前往「BigQuery」

  2. 在 BigQuery Studio 歡迎頁面中,按一下「建立新項目」下方的「筆記本」

    或者,在分頁列中,按一下 + 圖示旁的下拉式箭頭,然後依序點選「筆記本」> 空白筆記本

  3. 按一下「Toggle Gemini in Colab」按鈕,開啟即時通訊對話方塊。

  4. 在對話視窗中輸入提示。

  5. 請透過下列任一方式參照資料:

    1. 使用表格選取器選擇一或多個表格:

      1. 依序點選 「新增至 Gemini」> BigQuery 資料表

      2. 在「BigQuery tables」(BigQuery 資料表) 視窗中,選取專案中的一或多個資料表。您可以在專案中搜尋表格,並使用搜尋列篩選表格。

    2. 直接在提示中加入 BigQuery 資料表名稱。 例如:「請協助我對這個表格中的資料執行探索性資料分析,並取得相關洞察:project_id:dataset.table。」

      更改下列內容:

      • project_id:專案 ID
      • dataset:含有您要分析之資料表的資料集名稱
      • table:要分析的資料表名稱
    3. 輸入 @,在目前專案中搜尋 BigQuery 資料表。

  6. 按一下 「傳送」

    結果會顯示在聊天視窗中。

  7. 你可以要求服務專員變更計畫,也可以按一下「接受並執行」來運作執行。計畫執行時,筆記本中會顯示生成的程式碼和文字。如要執行方案中的其他步驟,您可能需要再次按一下「接受並執行」。按一下「取消」即可停止。

提示範例

無論提示詞有多複雜,資料科學代理都會生成計畫,您可以根據需求調整。

以下範例說明動態搜尋廣告可使用的提示類型。

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 資料科學代理支援的地區,請參閱「位置」。