华为云AI开发平台ModelArts银行存款预测(使用新版自动学习实现预测分析)_云淘科技

银行中常见一种业务:根据客户特征(年龄、工作类型、婚姻状况、文化程度、是否有房贷和是否有个人贷款),预测客户是否愿意办理定期存款业务。

现在您可以使用ModelArts平台上的自动学习功能,预测某个客户是否会办理存款业务。自动学习功能的使用流程如下所示:

准备数据
创建数据集
创建预测分析项目
运行工作流
预测分析
清除相应资源

数据管理模块当前已经转为邀测特性,对新用户不可见。如果您需要使用创建数据集相关功能,请提交工单申请开通。

步骤1:准备数据

本示例使用的数据集来自UCI的Machine Learning Repository,数据集介绍请参见Bank Maketing Data Set。数据集的基本信息可参见表1和表2,您可以从Github获取数据集并上传至OBS中。

从gitee下载ModelArts-Lab工程,并在“ModelArts-Lab”工程中的“\ModelArts-Lab-master\official_examples\Using_ModelArts_to_Create_a_Bank_Marketing_Application\data”目录下获取训练数据文件“train.csv”。
将“train.csv”文件上传至OBS,例如“test-modelarts/bank-marketing”。OBS上传文件的操作指导,请参见上传文件。

表1 数据源的具体字段及意义

字段名

含义

类型

描述

attr_1

年龄

String

表示客户的年龄。

attr_2

职业

String

表示客户所从事的职业。

attr_3

婚姻情况

String

表示客户是否结婚或已离异。

attr_4

教育情况

String

表示客户受教育的程度。

attr_5

房产情况

String

表示客户名下是否有房产。

attr_6

贷款情况

String

表示客户名下是否有贷款。

attr_7

存款情况

String

表示客户名下是否有存款。

源数据中不包含表头,本案例中定义源数据的第一列至第7列名称分别为attr_1~attr_7,其中最后一列attr_7代表预测列。

表2 数据集样本数据

attr_1

attr_2

attr_3

attr_4

attr_5

attr_6

attr_7

31

blue-collar

married

secondary

yes

no

no

41

management

married

tertiary

yes

yes

no

38

technician

single

secondary

yes

no

no

39

technician

single

secondary

yes

no

yes

39

blue-collar

married

secondary

yes

no

no

39

services

single

unknown

yes

no

no

步骤2:创建数据集

登录ModelArts管理控制台,在左侧导航栏选择“数据管理>数据集”,单击“前往新版”,进入新版数据集管理页面。
单击“创建数据集”,进入创建数据集详情页面。
参考表3完成各项参数填写后,单击“提交。

图1 创建数据集

本案例中使用的数据集不包含表头,请手动关闭“导入是否包含表头”按钮。
从OBS选择数据后,Schema信息的列名会自动带出,且默认为表格中的第一行数据。为确保列名的统一性,请您手动将Schema信息中的列名更改为图1所示。

表3 数据集的详细参数

参数名称

说明

名称

数据集名称。

支持1~64位可见字符,可包含字母、中文、数字、中划线和下划线。只能以英文字母或中文开头。

描述

数据集详细信息描述。例如:银行存款预测。

数据类型

表格型。

数据源(“OBS”)

“文件路径”:单击输入框右侧按钮,可打开当前帐号下的所有OBS桶,请选择需要导入的数据文件所在目录。
“导入是否包含表头”:开启表示导入文件包含表头,此时会将导入文件的第一行作为列名,否则会添加默认列名,自动填写在Schema信息中。

说明:

本案例中使用的数据集不包含表头,请手动关闭“导入是否包含表头”按钮。
本案例使用的数据源为OBS,其他数据源信息了解可参考数据源参数解释。

Schema信息

表格的列名和对应类型。创建数据集时必须指定Schema,且一旦创建不支持修改。

单击“添加Schema信息”,即可增加一行。从OBS数据源导入数据,会自动获取文件路径下csv文件的schema,如果多个csv文件的schema不一致会报错。

说明:

从OBS选择数据后,Schema信息的列名会自动带出,且默认为表格中的第一行数据。为确保预测代码的正确性,请您手动更改Schema信息中的列名为图1所示,其中attr_7代表预测列。

数据集输出位置

用来存放数据集的发布信息(例如,版本发布的Manifest文件)的OBS路径。

提交后,自动跳转至数据集列表页,等待数据集创建完成。

在数据集列表页,单击对应数据集左侧的展开数据集,查看数据集的导入状态,若导入状态为“导入完成”。
对应数据集右侧的状态符号为,则代表数据集创建成功可以正常使用。

步骤3:创建预测分析项目

确保数据集创建完成且可正常使用后,在ModelArts管理控制台,在左侧导航栏中选择“自动学习”。
在“自动学习”页面,单击“预测分析”区域的“创建项目”。

图2 创建项目

在创建预测分析页面,计费模式默认“按需计费”,参考表4填写相应参数。

图3 参数填写

表4 参数说明

参数

说明

“名称”

项目的名称。

名称只能包含数字、字母、下划线和中划线,长度不能超过64位且不能为空。
名称请以字母开头。
名称不允许重复。

“描述”

对项目的简要描述。

“数据集”

下拉选择步骤2已创建好的数据集(默认为下拉数据集列表中的第一个数据集)。

“标签列”

标签列是预测模型的输出。模型训练步骤将使用全部信息训练预测模型,该模型以其他列的数据为输入,以标签列的预测值为输出。部署上线步骤将使用预测模型发布在线预测服务。本案例中标签列选择attr_7。

“输出路径”

选择表3中的数据集输出位置。

说明:

“输出路径”是存储自动学习在运行过程中所有产物的路径。

“训练规格”

选择自动学习训练节点所使用的资源规格,将会根据不同的规格计费。

GPU: 8*NVIDIA-V100(32GB) | CPU: 72 核 512GB
GPU: 1*NVIDIA-V100(32GB) | CPU: 8 核 64GB
CPU:2核8GB
CPU:8核32GB

单击“创建项目”,预测分析项目创建成功后页面自动跳转到自动学习运行总览页面。

步骤4:运行工作流

在自动学习的总览页面,预测分析项目的工作流,将依次运行如下节点:

数据集版本发布:将已完成确认的数据进行版本发布。
数据校验:对您的数据集中的数据进行校验,是否存在数据异常。

请确保您的表格数据集中的数据的正确性,以及数据的有效性,有效数据不得少于100行,否则会导致数据校验失败。
若数据校验异常,请单击“实例详情”,跳转至训练作业详情页,查看训练报错日志定位处理报错问题,若仍未解决可联系华为技术工程师。

预测分析:将发布好的数据集版本进行训练,生成对应的模型。
模型注册:将训练后的结果注册到模型管理中。
服务部署:将生成的模型部署为在线服务。

您需要做的是:

待节点运行至“服务部署”时,节点状态会变为“等待输入”,请填写以下两个参数,其他参数保持默认值。

计算节点规格:根据您的实际需求选择相应的规格,不同规格的配置费用不同。
是否自动停止:默认为关闭状态。为了避免资源浪费,请打开该开关,根据您的需求,选择自动停止时间,也可以自定义自动停止时间。

输入参数填写的资源为按需计费,为避免产生非必要的费用:请务必确保您的“自动停止”开关已打开。

图4 用户输入

参数填写完毕之后,单击运行状况右边的“继续运行”,单击确认弹窗中的“确定”请您耐心等待十分钟左右,工作流便可运行完成。

图5 继续运行

步骤5:预测分析

运行完成的工作流会自动部署为在线服务,您只需要在相应的服务详情页面进行预测即可。

在服务部署节点单击“实例详情”或者在ModelArts管理控制台,选择“部署上线>在线服务”,单击生成的在线服务名称,即可进入在线服务详情页。

图6 实例详情进入在线服务页

图7 管理控制台进入在线服务页

在服务详情页面,单击“预测”页签,输入预测代码,单击“预测”,可在右边的“返回结果”区域查看预测结果。
测试代码如下所示,如图8所示预测结果为“”predict”: “no””,表示此用户会不办理存款。

{

  "data": 
  {
    "count": 1,
    "req_data": 
	[
      {
        "attr_1": "34",
        "attr_2": "blue-collar",
        "attr_3": "single",
        "attr_4": "tertiary",
        "attr_5": "no",
        "attr_6": "no"
      }
    ]
  }
}

图8 测试模型

步骤5:清除相应资源

在完成预测之后,建议关闭服务,以免产生不必要的计费。

停止运行服务

预测完成后,单击页面右上角的“停止”,即可停止该服务。
单击左上角返回在线服务,在对应的服务名称所在行,单击选择操作列的“更多>停止”,停止该服务。

图9 停止服务

清除OBS中的数据。

在控制台左侧导航栏的服务列表,选择“对象存储服务OBS”,进入OBS服务详情页面。
在左侧导航栏选择“桶列表”,在列表详情,找到自己创建的OBS桶,单击桶名称,进入OBS桶详情。
在桶的详情页,左侧导航栏选择“对象”,在右侧“名称”列选中不需要的存储对象,在操作列单击“更多”,选择“删除”,即可删除相应的存储对象。

常见问题

创建数据集时找不到创建的OBS桶,请查看OBS桶与ModelArts是否在同一个区域。
数据校验节点失败。

请查看您的数据集是否符合规范,数据集规范请参考数据集要求与上传规范。

父主题: 自动学习

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家