将 Colab Enterprise 数据科学智能体与 BigQuery 搭配使用

借助适用于 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,您需要拥有 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予 角色

    启用 API

    对于新项目,BigQuery API 会 自动启用。

如果您刚开始接触 BigQuery 中的 Colab Enterprise,请参阅创建笔记本页面上的设置步骤。

限制

  • 数据科学智能体仅在 Colab Enterprise 环境中可用。
  • 数据科学智能体支持以下数据源:
    • CSV 文件
    • BigQuery 表
  • Data Science Agent 生成的代码仅在笔记本的运行时中运行。
  • 如果项目已启用 VPC Service Controls,则不支持数据科学代理。
  • 使用 @mention 函数搜索 BigQuery 表仅限于您当前的项目。使用表选择器跨项目进行搜索。
  • @mention 函数仅搜索 BigQuery 表。 如需搜索可上传的数据文件,请使用 + 符号。
  • 数据科学智能体中的 PySpark 仅生成 Managed Service for Apache Spark 4.0 代码。DSA 可以帮助您升级到 Managed Service for Apache Spark 4.0,但需要早期版本的用户不应使用数据科学智能体。

何时使用数据科学智能体

数据科学代理可帮助您完成各种任务,从探索性数据分析到生成机器学习预测和预报。您可以将 DSA 用于以下用途:

  • 大规模数据处理:使用 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 DataFramesPySpark 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
    • 输入 @ 符号,搜索 BigQuery 表名称 使用 @mention 函数。
  3. 输入提示,说明您要执行的数据分析或要构建的原型。数据科学代理的默认行为是使用 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. 点击 切换 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. 点击 切换 Gemini in Colab 按钮,以打开聊天对话框。

  4. 在聊天窗口中输入提示。

  5. 您可以通过以下任一方式引用数据:

    1. 使用表选择器选择一个或多个表:

      1. 依次点击 添加到 Gemini > BigQuery 表

      2. BigQuery 表窗口中,选择项目中的一个或多个表。您可以在各个项目中搜索表,并使用搜索栏过滤表。

    2. 直接在提示中添加 BigQuery 表名称。 例如:“帮我对这个表中的数据进行探索性数据分析,并获取分析洞见:project_id:dataset.table。”

      替换以下内容:

      • project_id:您的项目 ID
      • dataset:包含要分析的表的数据集的名称
      • table:要分析的表的名称
    3. 输入 @ 以在当前项目中搜索 BigQuery 表。

  6. 点击 发送

    结果会显示在聊天窗口中。

  7. 您可以要求代理更改方案,也可以点击接受并运行来运行方案。随着方案的运行,生成的代码和文本会显示在笔记本中。对于方案中的其他步骤,您可能需要再次点击接受并运行。点击取消即可停止。

示例提示

无论您使用的提示有多复杂,数据科学代理都会生成一个方案,您可以根据自己的需求对其进行优化。

以下示例展示了您可以在 DSA 中使用的提示类型。

Python 提示

除非您在提示中使用“BigQuery ML”或“SQL”等特定关键字,否则系统默认生成 Python 代码。

  • 使用 k-最近邻 (KNN) 机器学习算法来调查和填充缺失值。
  • 创建按经验水平列出的薪资图表。使用 experience_level 列对薪资进行分组,并为每个组创建一个箱形图,以显示 salary_in_usd 列中的值。
  • 使用 XGBoost 算法创建一个模型,用于确定特定水果的 class 变量。将数据拆分为训练数据集和测试数据集,以生成模型并确定模型的准确性。创建混淆矩阵以显示每个类别中的预测,包括所有正确和错误的预测。
  • 根据 filename.csv 预测未来六个月的 target_variable

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。 分析数据中的 null 值,然后使用图表类型绘制每个列的分布图。对于测量值,请使用小提琴图;对于类别,请使用条形图。
  • 读取 filename.csv 并构建 DataFrame。对 DataFrame 运行分析,以确定需要对值执行哪些操作。 例如,是否存在需要替换或移除的缺失值,或者是否存在需要处理的重复行。使用此数据文件确定每个城市位置的投资金额(以美元为单位)分布情况。使用条形图绘制前 20 个结果的图表,该图表按降序显示结果,并以“位置”与“平均投资金额(美元)”为对比。
  • 使用 BigQuery DataFrames 在 project_id:dataset.table 上创建和评估分类模型。
  • 使用 BigQuery DataFrames 在 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 User (roles/cloudaicompanion.user) 角色。请参阅撤消单个 IAM 角色

价格

在预览期间,您需要为在笔记本的运行时中运行代码付费,并为使用的任何 BigQuery 付费。如需了解详情,请参阅 Colab Enterprise 价格

支持的区域

如需查看 Colab Enterprise 的数据科学代理支持的区域,请参阅位置