第 6 章 使用 BigQuery ML 训练线性回归模型 使用 BigQuery ML 训练线性回归模型
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
在本章中,您将学习如何从零开始建立线性回归模型和神经网络模型,以预测发电厂的生产情况。您将使用 SQL 进行数据分析,使用Jupyter Notebook 进行数据探索,并使用 BigQuery Machine Learning (BigQuery ML) 训练 ML 模型。在此过程中,您将学习到了解数据的新技术,为 ML 做准备,以及如何应用这些知识来提高模型性能。
业务用例:发电厂生产
在本项目中,您的目标是根据联合循环发电厂 (CCPP) 附近当时的天气条件,预测该发电厂每小时的净电能输出。
CCPP 由燃气轮机、蒸汽轮机和热回收蒸汽发生器组成。电力由燃气轮机和蒸汽轮机产生,两者合并为一个循环,并从一个涡轮机传输到另一个涡轮机。虽然真空是从蒸汽轮机收集的,但其他三个环境变量(温度、环境压力和相对湿度)会影响燃气轮机的性能。
本节中的数据集包含从 CCPP 收集到的数据点,时间跨度为六年(2006-2011 年),当时发电厂满负荷工作。数据是按小时汇总的,但数据集中没有提供记录的天气条件和能源生产的确切时间。从实际角度来看,这意味着您无法将这些数据作为序列或时间序列数据来处理,即使用以前记录的信息来预测未来记录。
数据最初是以 CSV 文件提供的、1因此您需要花一些时间将数据加载到 BigQuery 中,然后才能探索数据并最终使用数据创建 ML 模型。如表 6-1 所示,我们的数据集中有五列和 9,590 行。
| 列名 | 最小值 | 最大值 |
|---|---|---|
| 温度 | 1.81°C | 37.11°C |
| 环境压力 | 992.89 毫巴 | 1,033.30 毫巴 |
| 相对湿度 | 25.56% | 100.16% |
| 排气真空 | 25.36 厘米汞柱 | 81.56 厘米汞柱 |
| 能源生产 | 420.26 兆瓦 | 495.76 兆瓦 |
这些预期值范围由发电厂工程师详细记录,并与您共享(例如,通过技术报告)。这将有助于探索数据,确保不存在问题,如第 4 章讨论的空值或神奇数字。
使用 BigQuery 中的 SQL 清理数据集
正如 之前所讨论的,在开始构建 ML 模型之前,了解自己的数据集非常重要。请记住,您所训练的任何 ML 模型的质量都在很大程度上取决于用于训练模型的数据集的质量。如果数据集中充斥着错误数据或缺失值,那么 ML 模型将无法学习到正确的见解。
在本节中,您将使用 SQL 作为首选工具,BigQuery 作为平台。本章的所有 SQL 代码也可在low-code-ai 代码库中找到。BigQuery 是 Google Cloud 为无服务器数据仓库提供的解决方案。在这里,无服务器将意味着您可以快速将数据加载到 BigQuery 中,并开始 SQL 数据分析,而无需配置任何服务器。如果您不熟悉 SQL,那么谷歌在 Coursera 上开设的"为探索准备数据 "课程是一个很好的免费起点。Alan Beaulieu 所著的《Learning SQL》(第 3 版)(O'Reilly,2020 年)对于想要深入学习使用 SQL 的人来说是一个很好的资源。
如果您还没有使用BigQuery,它的免费层级将涵盖本章中的线性回归活动。每月通过 SQL 查询处理的前 1 TB 数据和每月 10 ...