准备预测分析数据
使用ModelArts自动学习构建预测分析模型时,您需要将数据上传至对象存储服务(OBS)中。OBS桶需要与ModelArts在同一区域,例如OBS桶区域为“北京四”时,必须保证ModelArts管理控制台区域也在“北京四”区域,否则会导致无法获取到相关数据。
数据集要求
预测分析项目中需要使用到的数据集为表格数据集,数据格式支持csv格式。表格数据集的具体介绍请参见表格数据集。
将原始.xlsx格式的数据转换为.csv格式的数据的方法如下:
将原始表格数据(.xlsx)另存。单击“文件>另存为”,选择本地地址后,下拉选择“保存类型”为“CSV (逗号分隔)(*.csv)”单击“保存”,在弹窗中,单击“确定”后就可以将.xlsx格式数据集转换为.csv格式。
- 训练数据列数一致,总数据量不少于100条不同数据(有一个特征取值不同,即视为不同数据)。
- 训练数据列内容不能有时间戳格式(如:yy-mm-dd、yyyy-mm-dd等)的数据。
- 如果某一列的取值只有一种,会被视为无效列。请确保标签列的取值至少有两个且无数据缺失。
标签列指的是在训练任务中被指定为训练目标的列,即最终通过该数据集训练得到模型时的输出(预测项)。
- 除标签列外数据集中至少还应包含两个有效特征列(列的取值至少有两个且数据缺失比例低于10%)。
- 当前由于特征筛选算法限制,预测数据列建议放在数据集最后一列,否则可能导致训练失败。
表格数据集示例:
以银行存款预测数据集为例:根据预测人的年龄、工作类型、婚姻状况、文化程度、是否有房贷和是否有个人贷款。
字段名 |
含义 |
类型 |
描述 |
---|---|---|---|
attr_1 |
年龄 |
Int |
表示客户的年龄。 |
attr_2 |
职业 |
String |
表示客户所从事的职业。 |
attr_3 |
婚姻情况 |
String |
表示客户是否结婚或已离异。 |
attr_4 |
教育情况 |
String |
表示客户受教育的程度。 |
attr_5 |
房产情况 |
String |
表示客户名下是否有房产。 |
attr_6 |
贷款情况 |
String |
表示客户名下是否有贷款。 |
attr_7 |
存款情况 |
String |
表示客户名下是否有存款。 |
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 |
数据上传至OBS
在本文档中,采用通过OBS管理控制台将数据上传至OBS桶。
上传OBS的文件规范:
预测分析项目的OBS数据路径需符合以下规则:
- 输入数据的OBS路径应指向数据文件,且文件不能直接放在OBS桶的根目录下,应该存放在OBS桶的文件夹内。如:“/obs-xxx/data/input.csv”。
- 输入数据的格式必须为csv格式,有效数据行数必须大于100行。列数必须小于200列,数据总大小不能超过100MB。
上传OBS操作步骤:
执行如下操作,将数据导入到您的数据集中,以便用于模型训练和构建。
- 登录OBS管理控制台,在ModelArts同一区域内创建桶。如果已存在可用的桶,需确保OBS桶与ModelArts在同一区域。
- 参考上传文件,将本地数据上传至OBS桶中。如果您的数据较多,推荐OBS Browser+上传数据或上传文件夹。上传的数据需满足此类型自动学习项目的数据集要求。
在上传数据时,请选择非加密桶进行上传,否则会由于加密桶无法解密导致后期的训练失败。
创建数据集
数据准备完成后,需要创建相应项目支持的类型的数据集,具体操作请参考创建ModelArts数据集。
常见问题
使用从OBS选择的数据创建表格数据集如何处理Schema信息?
- 如果您的原始表格中已包含表头,需要开启“导入是否包含表头”开关,系统会导入文件的第一行(表头)作为列名,无需再手动修改Schema信息。
- 如果您的原始表格中没有表头,需关闭“导入是否包含表头”开关,从OBS选择数据后,Schema信息的列名默认为表格中的第一行数据,请更改Schema信息中的“列名”为attr_1、attr_2、……、attr_n,其中attr_n为最后一列,代表预测列。