arrow_back

BigQuery ML 使用入门

登录 加入
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

BigQuery ML 使用入门

实验 45 分钟 universal_currency_alt 免费 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

GSP247

Google Cloud 自定进度实验

概览

BigQuery ML 帮助用户利用 SQL 查询,在 BigQuery 中创建和执行机器学习模型。其目标是让 SQL 专业人员能够利用现有的工具构建模型,并通过消除数据移动需求来提高开发速度,从而实现机器学习的普及。

有一个可用的电子商务数据集,其中包含 Google Merchandise Store 的上百万条 Google Analytics 记录,并且已加载到 BigQuery。在此实验中,您要使用这些数据创建一个预测访问者是否会进行交易的模型。

学习内容

在本实验中,您将学习如何完成以下操作:

  • 创建 BigQuery 数据集
  • 在 BigQuery 中创建、评估和使用机器学习模型

前提条件

为充分提升学习效果,您应该先掌握有关 SQL 或 BigQuery 的基础知识。

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。我们会为您提供新的临时凭据,让您可以在实验规定的时间内用来登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:如果您已有自己的个人 Google Cloud 账号或项目,请不要在此实验中使用,以避免您的账号产生额外的费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧是实验详细信息面板,其中包含以下各项:

    • 打开 Google Cloud 控制台按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示登录页面。

    提示:请将这些标签页安排在不同的窗口中,并将它们并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在实验详细信息面板中找到用户名

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在实验详细信息面板中找到密码

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本次实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需查看列有 Google Cloud 产品和服务的菜单,请点击左上角的导航菜单导航菜单图标

打开 BigQuery 控制台

  1. 在 Google Cloud 控制台中,选择导航菜单 > BigQuery

您会看到欢迎在 Cloud 控制台中使用 BigQuery 消息框,其中提供了指向快速入门指南和版本说明的链接。

  1. 点击完成

BigQuery 控制台即会打开。

任务 1. 创建数据集

  1. 如需创建数据集,点击项目 ID 旁边的查看操作图标,然后选择创建数据集

“创建数据集”选项

  1. 接下来,将数据集 ID 命名为 bqml_lab,然后点击创建数据集

验证您已完成的任务

点击检查我的进度,验证您已完成的任务。如果您成功完成了任务,系统会给出评分。

创建 BigQuery 数据集

任务 2. 创建模型

现在进行下一个任务。

  1. 进入 BigQuery 编辑器,输入或粘贴以下查询,创建一个预测访问者是否会进行交易的模型:
#standardSQL CREATE OR REPLACE MODEL `bqml_lab.sample_model` OPTIONS(model_type='logistic_reg') AS SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20160801' AND '20170631' LIMIT 100000;
  1. 点击运行

这里用到了访问者设备的操作系统、提到的设备是否为移动设备、访问者所在的国家/地区以及网页浏览次数,作为判断是否进行了交易的标准。

在此例中,bqml_lab 是数据集的名称,sample_model 是模型的名称。指定的模型类型是二进制逻辑回归。在此例中,label 是要匹配的目标。

注意:如果您只对 1 列中的数据感兴趣,这是一种设置 input_label_cols 的替代方法。

训练数据限制为从 2016 年 8 月 1 日到 2017 年 6 月 30 日收集的数据。这样的目的是保留最后一个月的数据用于“预测”。同时进一步限制为 100,000 个数据点,以节省一点时间。

运行 CREATE MODEL 命令创建一个异步运行的查询作业,这样就可以执行关闭或刷新 BigQuery 界面窗口等任务。

验证您已完成的任务

点击检查我的进度,验证您已完成的任务。如果您成功完成了任务,系统会给出评分。

创建一个预测访问者交易的模型

(可选)模型信息和训练统计数据

如果有兴趣,可以展开 bqml_lab 数据集,然后在界面中点击 sample_model 模型来获取有关模型的信息。在详细信息标签页下,可以找到一些基础的模型信息和用于生成模型的训练选项。在训练下,应该可以看到一个表或多个图表,具体取决于“查看方式”设置:

训练表

训练图表

任务 3. 评估模型

  • 将之前的查询替换为以下查询,然后点击运行
#standardSQL SELECT * FROM ml.EVALUATE(MODEL `bqml_lab.sample_model`, ( SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801'));

如果与线性回归模型搭配使用,以上查询会返回以下列:

  • mean_absolute_errormean_squared_errormean_squared_log_error
  • median_absolute_errorr2_scoreexplained_variance

如果与逻辑回归模型搭配使用,以上查询会返回以下列:

  • precisionrecall
  • accuracyf1_score
  • log_lossroc_auc

请参考机器学习术语表或执行 Google 搜索来了解这些指标中每一个的计算方式以及其含义。

您将认识到,查询的 SELECT FROM 部分与训练中使用的一样。WHERE 部分反映了时间帧的变化,FROM 部分显示了您正在调用 ml.EVALUATE

您应该会看到类似如下所示的表:

逻辑回归模型查询结果

验证您已完成的任务

点击检查我的进度,验证您已完成的任务。如果您成功完成了任务,系统会给出评分。

评估此模型

任务 4. 使用模型

预测每个国家/地区的购买量

利用这个查询,您可以尝试预测每个国家/地区的访问者的交易量、对结果排序,并选出购买量最高的十个国家/地区:

  • 将之前的查询替换为以下查询,然后点击运行
#standardSQL SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(totals.pageviews, 0) AS pageviews, IFNULL(geoNetwork.country, "") AS country FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801')) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;

这个查询与前一部分介绍的评估查询非常类似。您将使用 ml.PREDICT(而非 ml.EVALUATE),查询的 BigQuery ML 部分会使用标准 SQL 命令进行封装。对于此实验,您关注的是国家/地区以及每个国家/地区的购买总量,这就是为什么使用 SELECTGROUP BYORDER BY. LIMIT 用来确保只获取排名前十的结果。

您应该会看到类似如下所示的表:

10 行国家/地区,其中列出每个国家/地区预测的购买量

验证您已完成的任务

点击检查我的进度,验证您已完成的任务。如果您成功完成了任务,系统会给出评分。

预测每个国家/地区的购买量

预测每位用户的购买量

再举一个例子。 这次您尝试预测每个访问者的交易量、对结果排序,并选出交易量最高的前十个访问者:

  • 将之前的查询替换为以下查询,然后点击运行
#standardSQL SELECT fullVisitorId, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(totals.pageviews, 0) AS pageviews, IFNULL(geoNetwork.country, "") AS country, fullVisitorId FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801')) GROUP BY fullVisitorId ORDER BY total_predicted_purchases DESC LIMIT 10;

您应该会看到类似如下所示的表:

10 行 fullVisitorId,其中列出每个访问者预测的购买量

验证您已完成的任务

点击检查我的进度,验证您已完成的任务。如果您成功完成了任务,系统会给出评分。

预测每位用户的购买量

任务 5. 检验您的掌握情况

下面的选择题可加强您对本实验所涉概念的理解。请尽您所能回答问题。

恭喜!

您使用 BigQuery ML 创建了一个二元逻辑回归模型、评估该模型,并使用该模型进行了预测。

后续步骤/了解详情

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

上次更新手册的时间:2024 年 2 月 22 日

上次测试实验的时间:2024 年 2 月 22 日

版权所有 2024 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您