arrow_back

Vertex AI:借助 AutoML 预测贷款风险

登录 加入
Quick tip: Review the prerequisites before you run the lab
Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the student account, which may cause extra charges incurred to your personal account.
欢迎加入我们的社区,一起测试和分享您的知识!
done
学习 700 多个动手实验和课程并获得相关技能徽章

Vertex AI:借助 AutoML 预测贷款风险

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

概览

在本实验中,您将使用 Vertex AI,用表格式数据集训练和部署机器学习模型,以预测贷款风险。

目标

您将学习如何进行以下操作:

  • 将数据集上传到 Vertex AI。
  • 用 AutoML 训练机器学习模型。
  • 评估模型性能。
  • 将模型部署到端点。
  • 获取预测结果。

设置

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

请阅读以下说明。实验会以定时的方式进行,且您无法暂停实验。定时器(点击“开始实验”即可启动)会显示云资源可供您使用的时间。

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

要求

要完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
  • 为完成实验留出时间。

注意:如果您已拥有个人 GCP 帐号或项目,请不要使用其进行此实验。

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

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个弹出式窗口供您选择付款方式。左侧面板中包含您在进行该实验时必须使用的临时凭据。

    凭据面板

  2. 复制用户名,然后点击打开 Google 控制台。 该实验会启动资源并打开另一个标签页,显示选择账号页面。

    注意:请在单独的窗口打开标签页,让它们并排显示。
  3. 在“选择账号”页面中点击使用其他账号。“登录”页面即会打开。

    选择一个账号对话框,其中突出显示了“使用其他账号”选项

  4. 粘贴您从“连接详情”面板复制的用户名,然后复制并粘贴相应的密码。

注意:您必须使用“连接详情”面板中的凭据,请勿使用您的 Google Cloud Skills Boost 凭据。如果您拥有自己的 Google Cloud 账号,请不要在此实验中使用,以免产生费用。
  1. 继续在后续页面中点击以完成相应操作:
  • 接受条款及条件。
  • 由于该账号为临时账号,请勿添加账号恢复选项或双重验证。
  • 请勿注册免费试用。

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

注意:您可以点击左上角的导航菜单来查看列有 Google Cloud 产品和服务的菜单。 Cloud 控制台菜单

Vertex AI 简介

本实验使用 Vertex AI(Google Cloud 上的统一 AI 平台)训练和部署机器学习模型。Vertex AI 在一个平台上提供了两种构建机器学习模型的方案:使用 AutoML 的无代码解决方案,以及使用 Vertex Workbench 进行自定义训练的基于代码的解决方案。在本实验中,您将使用 AutoML

实验中,您将构建机器学习模型来判断特定客户是否会偿还贷款。

任务 1. 准备训练数据

Vertex AI 信息中心说明了训练和部署机器学习模型的主要阶段:准备训练数据、训练模型、获取预测结果。随后,信息中心将显示您的近期活动,例如最近使用的数据集、模型、预测、端点和笔记本实例。

创建数据集

  1. 在 Google Cloud 控制台中的导航菜单上,依次点击Vertex AI > 数据集
  2. 点击创建数据集
  3. 将数据集命名为 LoanRisk
  4. 对于数据类型和目标,请点击表格并选择回归/分类
  5. 点击创建

上传数据

Vertex AI 提供了三种导入数据的选项:

  • 从计算机上传 CSV 文件。
  • 选择 Cloud Storage 中的 CSV 文件。
  • 从 BigQuery 中选择表或视图。

为方便起见,数据集已上传到 Cloud Storage。

  1. 对于数据源,使用选择 Cloud Storage 中的 CSV 文件

  2. 对于导入文件路径,请输入:

spls/cbl455/loan_risk.csv
  1. 点击继续
注意:您也可以点击左侧菜单中的数据集,在“数据集”页面上选择数据集名称,来配置此页面。

(可选)生成统计信息

  1. 若要查看数据集每一列的描述性统计信息,请点击生成统计信息
    可能需要几分钟才能生成统计信息,尤其是第一次操作时。

  2. 统计信息就绪后,点击每个列名称即可显示分析图表。

任务 2. 训练模型

上传数据集后,您便可以开始训练模型来预测客户是否会偿还贷款了。

  • 点击训练新模型并选择其他

训练方法

  1. 数据集已命名为 LoanRisk

  2. 对于目标,请选择分类

需选择“分类”而不是“回归”,因为您要预测单个数字(客户是否会偿还贷款:0 代表偿还,1 代表违约/不偿还)而不是连续数字。

  1. 点击继续

模型详情

指定模型名称和目标列。

  1. 为模型命名,例如 LoanRisk

  2. 对于目标列,选择 Default

  3. (可选)浏览高级选项以确定如何分配训练数据和测试数据,并指定加密方式。

  4. 点击继续

  5. 在“添加特征”部分点击继续

训练选项

指定您想包含在训练模型中的列。例如,ClientID 可能与预测贷款风险无关。

  1. 点击 ClientID 行中的减号,将其从训练模型中排除。

  2. (可选)浏览高级选项以选择不同的优化目标。
    有关表格 AutoML 模型优化目标的详细信息,请参阅表格 AutoML 模型优化目标指南

  3. 点击继续

计算和价格

  1. 预算(代表训练的节点时数)部分,请输入 1
    通常,先对 AutoML 模型进行 1 个计算时的训练是个好主意,可以让您了解所选的特征和标签之间是否存在关系。然后,您可以修改特征并训练更长时间,以改进模型性能。

  2. 将早停法保留为已启用状态。

  3. 点击开始训练

根据数据规模和训练方法的不同,训练可能需要几分钟到几小时。通常,您会在训练作业完成时收到 Google Cloud 的电子邮件。然而,在 Qwiklabs 环境中,您不会收到电子邮件。

注意:为了避免通常长达一小时的模型训练等待时间,在任务 5 中,请下载预训练模型。 此模型是在完成任务 1 和任务 2 后获得的。任务 3 和 4 仅用于演示,并适用于您自行训练模型的情况。

任务 3. 评估模型性能(仅限演示)

Vertex AI 提供了许多指标来评估模型性能。您要关注以下三个指标:

  • 精确率/召回率曲线
  • 混淆矩阵
  • 特征重要性
注意:如果您训练了一个模型,则可以在 Vertex AI 中前往模型注册表标签页。

1. 前往模型注册表

2. 点击您刚才训练的模型。

3. 浏览评估标签页。

但在本实验中,您可以跳过这一步骤,因为您使用的是预训练模型。

精确率/召回率曲线

置信度阈值滑块置于 0.5。此外还有精确率/召回率曲线图、ROC 曲线图和特定阈值下的精确率与召回率图

置信度阈值决定了机器学习模型如何统计正例。阈值越高,精确率也越高,但召回率越低。阈值越低,精确率也越低,但召回率越高。

您可以手动调整阈值,观察它对精确率和召回率的影响,并找到满足您业务需求的最佳平衡点。

混淆矩阵

混淆矩阵可以让您知道测试集中“每个类别”下模型正确预测的样本百分比。

显示真正例标签和预测标签分类的混淆矩阵表

混淆矩阵显示,您的初始模型能够正确预测测试集中 100% 的偿付样本和 87% 的违约样本,表现还不错。

您可以采取一些措施来提升预测准确率,例如,添加更多样本(更多数据)、设计新特征和更改训练方法等。

特征重要性

在 Vertex AI 中,特征重要性通过条形图显示,表明每项特征对预测结果的影响。特征的柱形越长,或者与其相关的数值越大,表明特征越重要。

贷款、收入和年龄的特征重要性条形图

这些特征重要性值可用于帮助您改进模型并获得更高的预测置信度。在下次训练模型时,您可以尝试删除最不重要的特征,或者将两个更重要的特征结合为一个特征组合,看看是否能够提升模型性能。

特征重要性只是 Vertex AI 综合性机器学习功能 Explainable AI 的一个例子。Explainable AI 是一组工具和框架,可帮助您理解和解释机器学习模型作出的预测。

任务 4. 部署模型(仅限演示)

注意:请不要将模型部署到端点,因为模型训练可能需要花费一个小时。您可以在这里查看生产环境中需要执行的步骤。

至此模型已经训练完成,下一步是在 Vertex 中创建端点。Vertex 中的一个模型资源可以关联多个端点,并且您可以在这些端点之间分摊流量。

创建并定义端点

  1. 在您的模型页面上,点击部署和测试,然后点击部署到端点

  2. 端点名称部分,输入 LoanRisk

  3. 点击继续

模型设置和监控

  1. 将流量分配设置保留原样。

  2. 机器类型中,选择 e2-standard-8、8 vCPU、32 GiB 内存

  3. 对于可解释性选项,请点击特征归因

  4. 点击完成

  5. 点击继续

  6. 模型监控中,点击继续

  7. 模型目标 > 训练数据源中,选择 Vertex AI 数据集

  8. 从下拉菜单中选择您的数据集。

  9. 目标列中,输入 Default

  10. 将其他设置保留原样,并点击部署

端点需要几分钟才能完成部署。完成后,名称旁边将显示绿色对勾标记

现在,您就可以用部署的模型获取预测结果了。

任务 5. 获取预测结果

在本部分,将 AutoML-Gateway 与训练好的模型搭配使用。

环境变量
Credit_Risk ENDPOINT 1411183591831896064
INPUT_DATA_FILE INPUT-JSON

如需使用训练好的模型,您需要创建一些环境变量。

  1. 打开一个 Cloud Shell 窗口。

  2. 下载实验资源:

gcloud storage cp gs://cloud-training/CBL455/INPUT-JSON .
  1. 创建 INPUT_DATA_FILE 环境变量:
export INPUT_DATA_FILE="INPUT-JSON"
  1. 创建 PROJECT_NUMBER 环境变量:
export PROJECT_NUMBER=$(gcloud projects describe $(gcloud config get-value project) --format="value(projectNumber)")
  1. 创建 AUTOML_SERVICE 环境变量:
export AUTOML_SERVICE="https://automl-proxy-$PROJECT_NUMBER.us-central1.run.app/v1" 注意:提取实验资源后,请花些时间审阅内容。

INPUT-JSON 文件用于为 Vertex AI 提供所需模型数据。请修改此文件以生成自定义预测结果。

INPUT-JSON 文件包含以下值:

{ "instances": [ { "age": 40.77430558, "ClientID": "997", "income": 44964.0106, "loan": 3944.219318 } ] }
  1. 输入以下命令以请求提供预测结果:
curl -X POST -H "Content-Type: application/json" $AUTOML_SERVICE -d "@${INPUT_DATA_FILE}" -s | jq

预期输出:

{ "predictions": [ { "scores": [ 0.9999980926513672, 0.000001897001311590429 ], "classes": [ "0", "1" ] } ], "deployedModelId": "3093594712003575808", "model": "projects/1030115194620/locations/us-central1/models/4831874217005809664", "modelDisplayName": "credit_risk_20211119212817", "modelVersionId": "1" }

如果您使用 Google Cloud 控制台,下图描绘了如何执行相同的操作:

在相关部分突出显示的预测步骤

恭喜!

您现在已经可以使用 Vertex AI 完成以下操作:

  • 上传数据集。
  • 通过 AutoML 训练模型。
  • 评估模型性能。
  • 将训练好的 AutoML 模型部署到端点。
  • 获取预测结果。

如需详细了解 Vertex AI 的各个部分,请参阅 Vertex AI 文档

结束实验

完成实验后,请点击结束实验。Google Cloud Skills Boost 会移除您使用过的资源并为您清理帐号。

系统会提示您为实验体验评分。请选择相应的星级数,输入评论,然后点击提交

星级数的含义如下:

  • 1 颗星 = 非常不满意
  • 2 颗星 = 不满意
  • 3 颗星 = 一般
  • 4 颗星 = 满意
  • 5 颗星 = 非常满意

如果您不想提供反馈,可以关闭该对话框。

如果要留言反馈、提出建议或做出更正,请使用支持标签页。

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

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

此内容目前不可用

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

太好了!

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

One lab at a time

Confirm to end all existing labs and start this one

Setup your console before you begin

Use an Incognito or private browser window to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.