1. Google 网络安全证书 - 快速进入网络安全职业道路。
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. Google IT 支持专业证书 - 支持你的组织的 IT 需求
本文旨在提供一个逐步的概述,帮助你开始使用 Google Cloud Platform (GCP) 进行数据科学和机器学习。我们将概述 GCP 及其分析功能,介绍帐户设置,探索 BigQuery 和 Cloud Storage 等重要服务,构建一个示例数据项目,并使用 GCP 进行机器学习。无论你是 GCP 新手还是寻找快速复习的机会,继续阅读以了解基础知识,并迅速上手 Google Cloud。
Google Cloud Platform 提供了一系列云计算服务,帮助你在 Google 的基础设施上构建和运行应用程序。对于计算能力,有 Compute Engine 让你创建虚拟机。如果你需要运行容器,Kubernetes 可以完成任务。BigQuery 处理你的数据仓储和分析需求。通过 Cloud ML,你可以通过 API 获取预训练的机器学习模型,用于视觉、翻译等功能。总的来说,GCP 的目标是提供你所需的基础构件,以便你专注于创建出色的应用程序,而不必担心底层基础设施。
GCP 为数据分析和机器学习提供了几个好处:
-
可扩展的计算资源,能够处理大数据工作负载
-
托管服务如 BigQuery 用于大规模数据处理
-
高级机器学习能力如 Cloud AutoML 和 AI 平台
-
集成的分析工具和服务
与亚马逊网络服务和微软 Azure 相比,GCP 在大数据、分析和机器学习方面具有优势,并且提供如 BigQuery 和 Dataflow 这样的托管服务用于数据处理。AI 平台使训练和部署机器学习模型变得简单。总体而言,GCP 价格具有竞争力,是数据驱动应用程序的首选。
特性 | Google Cloud Platform (GCP) | 亚马逊网络服务 (AWS) | 微软 Azure |
---|---|---|---|
定价* | 具有持续使用折扣的竞争性定价 | 带有预留实例折扣的每小时定价 | 带有预留实例折扣的每分钟定价 |
数据仓库 | BigQuery | Redshift | Synapse Analytics |
机器学习 | Cloud AutoML、AI Platform | SageMaker | Azure Machine Learning |
计算服务 | 计算引擎、Kubernetes 引擎 | EC2、ECS、EKS | 虚拟机、AKS |
无服务器服务 | Cloud Functions、App Engine | Lambda、Fargate | Functions、Logic Apps |
请注意,为了我们的目的,定价模型已经简化。AWS 和 Azure 也提供类似于 GCP 的持续使用或承诺使用折扣;定价结构复杂,可能会根据多种因素有显著变化,因此建议读者进一步了解以确定实际成本。
在此表中,我们根据定价、数据仓库、机器学习、计算服务和无服务器服务等各种功能比较了 Google Cloud Platform、Amazon Web Services 和 Microsoft Azure。这些云平台各自拥有独特的服务和定价模式,满足不同的业务和技术需求。
要使用 GCP,请首先注册一个 Google Cloud 账户。前往 主页 并点击“免费开始”。按照提示使用您的 Google 或 Gmail 凭据创建账户。
接下来,您需要设置账单账户和付款方式。这允许您在免费层之外使用付费服务。请在控制台中导航到“账单”部分,并按照提示添加您的账单信息。
GCP 提供了为期 12 个月的慷慨免费层,并附带 $300 信用额度。这允许免费使用 Compute Engine、BigQuery 等关键产品。请查看定价计算器和文档以估算总成本。
在本地机器上安装 Cloud SDK,以通过命令行管理项目/资源。从 Cloud SDK 指南页面 下载并按照安装指南进行操作。
最后,请务必查看并随时参考 开始使用 Google Cloud 文档。
Google Cloud Platform (GCP) 提供了大量服务,旨在满足各种数据科学需求。在这里,我们将深入探讨一些关键服务,如 BigQuery、Cloud Storage 和 Cloud Dataflow,揭示它们的功能和潜在用途。
BigQuery 是 GCP 完全托管、低成本的分析数据库。凭借其无服务器模型,BigQuery 通过利用 Google 基础设施的处理能力,能够对追加式表进行超快速 SQL 查询。它不仅仅是一个运行查询的工具,而是一个强大、大规模的数据仓库解决方案,能够处理 PB 级的数据。无服务器的方法消除了对数据库管理员的需求,使其成为希望降低运营开销的企业的一个有吸引力的选择。
示例:深入研究公共出生数据集,以获取有关美国出生的洞察。
SELECT * FROM `bigquery-public-data.samples.natality`
LIMIT 10
Cloud Storage 提供了强大、安全和可扩展的对象存储。它是企业的一个优秀解决方案,因为它允许以高度的可用性和可靠性存储和检索大量数据。Cloud Storage 中的数据被组织到存储桶中,存储桶作为数据的独立容器,可以单独管理和配置。Cloud Storage 支持标准、近线、冷线和归档存储类,允许优化价格和访问要求。
示例:使用 gsutil CLI 将示例 CSV 文件上传到 Cloud Storage 存储桶。
gsutil cp sample.csv gs://my-bucket
Cloud Dataflow 是一个完全托管的服务,用于流处理和批处理数据。它在实时或接近实时的分析中表现出色,并支持提取、转换和加载 (ETL) 任务以及实时分析和人工智能 (AI) 用例。Cloud Dataflow 旨在以可靠、容错的方式处理大量数据的复杂性。它与 BigQuery 等其他 GCP 服务无缝集成,进行分析,与 Cloud Storage 集成进行数据暂存和临时结果,使其成为构建端到端数据处理管道的基石。
开始数据项目需要系统化的方法以确保准确和有洞察力的结果。在这一步,我们将通过创建一个 Google Cloud Platform (GCP) 项目,启用必要的 API,并为数据的摄取、分析和可视化设置基础,使用 BigQuery 和 Data Studio。对于我们的项目,让我们深入分析历史天气数据以识别气候趋势。
通过在 GCP 上创建一个新项目来开始你的旅程。导航到 Cloud Console,点击项目下拉菜单并选择“新建项目”。命名为“天气分析”,并按照设置向导完成操作。一旦你的项目准备好,前往 API 和服务仪表板,启用 BigQuery、Cloud Storage 和 Data Studio 等必需的 API。
对于我们的天气分析,我们需要一个丰富的数据集。NOAA 提供了大量的历史天气数据。下载部分数据后,前往 BigQuery 控制台。在这里,创建一个名为weather_data
的新数据集。点击“创建表”,上传你的数据文件,并按照提示配置模式。
Table Name: historical_weather
Schema: Date:DATE, Temperature:FLOAT, Precipitation:FLOAT, WindSpeed:FLOAT
拥有数据后,是时候发掘洞察了。BigQuery 的 SQL 界面使运行查询变得轻而易举。例如,要找出多年的平均温度:
SELECT EXTRACT(YEAR FROM Date) as Year, AVG(Temperature) as AvgTemperature
FROM `weather_data.historical_weather`
GROUP BY Year
ORDER BY Year ASC;
这个查询提供了每年的平均温度细分,这对我们的气候趋势分析至关重要。
数据的可视化展示通常揭示了原始数字中看不到的模式。将你的 BigQuery 数据集连接到 Data Studio,创建一个新报告,并开始构建可视化。展示多年温度趋势的折线图是一个不错的开始。Data Studio 的直观界面使拖放和自定义可视化变得简单易行。
使用“共享”按钮与团队分享你的发现,使利益相关者能够轻松访问和互动你的分析结果。
通过完成这一步骤,你已经设置了一个 GCP 项目,获取了真实世界的数据集,执行了 SQL 查询以分析数据,并可视化了你的发现以便更好地理解和分享。这种动手实践不仅有助于理解 GCP 的机制,还能从数据中获得可操作的洞察。
利用机器学习 (ML) 可以显著增强你的数据分析,提供更深入的洞察和预测。在这一步中,我们将扩展我们的“天气分析”项目,利用 GCP 的 ML 服务基于历史数据预测未来的温度。GCP 提供了两种主要的 ML 服务:适合 ML 新手的 Cloud AutoML 和适合经验丰富的从业者的 AI 平台。
-
Cloud AutoML:这是一个完全托管的 ML 服务,简化了定制模型的训练过程,代码量很少。非常适合没有深厚机器学习背景的人士。
-
AI 平台:这是一个用于构建、训练和部署 ML 模型的托管平台。它支持流行的框架,如 TensorFlow、scikit-learn 和 XGBoost,非常适合具有 ML 经验的人士。
在继续我们的天气分析项目时,我们的目标是使用历史数据预测未来的温度。首先,准备训练数据是一个关键步骤。将数据预处理成适合 ML 的格式,通常是 CSV,并将其分成训练集和测试集。确保数据清洁,并选择相关特征以进行准确的模型训练。准备好后,将数据集上传到 Cloud Storage 桶中,创建类似gs://weather_analysis_data/training/
和gs://weather_analysis_data/testing/
的结构化目录。
训练模型是下一个重要步骤。导航到 GCP 的 AI Platform 并创建一个新模型。选择预构建的回归模型,因为我们正在预测一个连续目标——温度。将模型指向 Cloud Storage 中的训练数据,并设置训练所需的参数。GCP 将自动处理训练过程、调优和评估,简化模型构建过程。
在成功训练后,将训练好的模型部署到 AI Platform。部署模型可以方便地与其他 GCP 服务和外部应用程序集成,使模型能够进行预测。确保设置适当的版本控制和访问控制,以便安全有序地管理模型。
现在模型已经部署,是时候测试其预测结果了。通过 GCP Console 或 SDK 发送查询请求,测试模型的预测结果。例如,输入某一天的历史天气参数,观察预测的温度,这将给出模型准确性和表现的初步了解。
对于更简单的机器学习方法,Cloud AutoML 提供了一个用户友好的界面来训练模型。首先确保数据格式正确并已分割,然后将其上传到 Cloud Storage。这一步与 AI Platform 中的数据准备类似,但更适合那些机器学习经验较少的用户。
接下来,导航到 GCP 上的 AutoML Tables,创建一个新数据集,并从 Cloud Storage 导入数据。这一设置非常直观,配置要求最低,使数据准备工作变得轻松。
在 AutoML 中训练模型是直接的。选择训练数据,指定目标列(Temperature),并启动训练过程。AutoML Tables 将自动处理特征工程、模型调优和评估,这样就能减轻你的负担,让你专注于理解模型的输出。
一旦模型训练完成,将其部署到 Cloud AutoML 中,并使用提供的界面或通过 GCP SDK 发送查询请求来测试其预测准确性。这一步将模型投入实际使用,允许你对新数据进行预测。
最后,评估模型的表现。检查模型的评估指标、混淆矩阵和特征重要性,以更好地了解其性能。这些见解至关重要,因为它们可以告知是否需要进一步的调优、特征工程或收集更多数据以提高模型的准确性。
通过深入了解 AI Platform 和 Cloud AutoML,你可以获得在 GCP 上应用机器学习的实际理解,为你的天气分析项目增添预测能力。通过这些实际操作示例,机器学习融入数据项目的路径被揭示,奠定了更高级探索的坚实基础。
一旦您的机器学习模型训练满意,下一步就是将其部署到生产环境。这种部署允许您的模型开始接收实际数据并返回预测。在这一阶段,我们将探讨 GCP 上的各种部署选项,以确保您的模型能够高效且安全地提供服务。
可以利用 GCP 上的无服务器服务,如 Cloud Functions 或 Cloud Run 来部署训练好的模型并提供实时预测。这些服务抽象了基础设施管理任务,使您可以专注于编写和部署代码。由于其自动扩展功能,它们非常适合间歇性或低容量的预测请求。
例如,通过 Cloud Functions 部署您的温度预测模型涉及将模型打包成一个函数,然后将其部署到云端。部署后,Cloud Functions 会根据需要自动扩展或缩减实例数量,以处理请求的速率。
对于高容量或对延迟敏感的预测,将训练好的模型打包到 Docker 容器中并部署到 Google Kubernetes Engine (GKE) 是一种更合适的方法。这种设置允许可扩展的预测服务,满足潜在的大量请求。
通过将您的模型封装在容器中,您创建了一个可移植且一致的环境,确保无论容器部署在哪里,它都能以相同的方式运行。一旦您的容器准备好后,将其部署到 GKE,GKE 提供了一个托管的 Kubernetes 服务,可以高效地协调您的容器化应用。
将模型部署到生产环境还涉及遵循最佳实践,以确保模型的平稳运行和持续准确性。
-
监控生产环境中的模型:密切关注模型随时间的表现。监控可以帮助检测模型漂移等问题,即当模型的预测随着基础数据分布的变化而变得不那么准确时。
-
定期在新数据上重新训练模型:随着新数据的出现,重新训练您的模型以确保它们继续做出准确的预测。
-
为模型迭代实施 A/B 测试:在完全替换生产环境中的现有模型之前,使用 A/B 测试将新模型的性能与旧模型进行比较。
-
处理故障场景和回滚:做好故障准备,并制定回滚计划,以便在必要时恢复到先前的模型版本。
成本优化对于在性能和费用之间保持平衡至关重要。
-
使用预 emptible VMs 和自动扩展:为了管理成本,利用预 emptible VMs,它们的成本远低于常规 VMs。结合自动扩展,可以确保在需要时拥有必要的资源,而不会过度配置。
-
比较无服务器与容器化部署:评估无服务器和容器化部署之间的成本差异,以确定最具成本效益的方法。
-
根据模型资源需求选择合适的机器类型:选择与模型资源需求相匹配的机器类型,以避免对低使用率资源的过度花费。
保护你的部署至关重要,以保护你的模型及其处理的数据。
-
了解 IAM、认证和加密最佳实践:熟悉身份和访问管理(IAM),并实施适当的认证和加密,以保护对模型和数据的访问。
-
生产模型和数据的安全访问:确保只有授权的个人和服务可以访问生产中的模型和数据。
-
防止未经授权访问预测端点:实施强有力的访问控制,防止未经授权访问预测端点,保护模型免受潜在滥用。
将模型部署到 GCP 的生产环境涉及技术和操作方面的考量。通过遵循最佳实践、优化成本和确保安全,你为成功的机器学习部署奠定了坚实的基础,使你的模型在实际应用中能够提供价值。
在这本全面指南中,我们遍历了启动 Google Cloud Platform (GCP) 机器学习和数据科学之旅的要点。从设置 GCP 账户到在生产环境中部署模型,每一步都是创建强大数据驱动应用程序的基石。以下是继续在 GCP 上探索和学习的下一步。
-
GCP 免费层:利用 GCP 免费层进一步探索和实验云服务。免费层提供对核心 GCP 产品的访问,是无需额外费用的动手体验的绝佳方式。
-
高级 GCP 服务:深入了解更高级的 GCP 服务,如 Pub/Sub 实时消息传递、Dataflow 流处理和批处理,或 Kubernetes Engine 容器编排。了解这些服务将拓宽你在 GCP 上管理复杂数据项目的知识和技能。
-
社区和文档:GCP 社区是丰富的知识源,官方文档也很全面。参与论坛、参加 GCP 聚会,探索教程以继续学习。
-
认证:考虑获取 Google Cloud 认证,如专业数据工程师或专业机器学习工程师,以验证你的技能并提升职业前景。
-
参与项目合作:与同事合作项目或参与利用 GCP 的开源项目。实际的合作提供了不同的视角,并提升你的解决问题的技能。
技术领域,尤其是云计算和机器学习,持续不断地发展。保持对最新进展的关注、参与社区活动并从事实际项目是不断提升技能的绝佳方式。此外,反思已完成的项目,从遇到的挑战中学习,并将这些经验应用于未来的工作中。每个项目都是一个学习机会,而持续改进是你在 GCP 上数据科学和机器学习之旅成功的关键。
通过遵循本指南,你为在 Google Cloud Platform 上的冒险奠定了坚实的基础。未来的道路充满了学习、探索和大量的机会,让你的数据项目产生重大影响。
马修·梅奥 (@mattmayo13) 拥有计算机科学硕士学位和数据挖掘研究生文凭。作为 KDnuggets 的总编辑,马修旨在让复杂的数据科学概念变得易于理解。他的专业兴趣包括自然语言处理、机器学习算法以及探索新兴的人工智能。他的使命是将数据科学社区的知识普及化。马修从 6 岁起就开始编程。