通常情况下,在构建一个模型时,您需要准备好用于模型构建和调试所需要使用的数据,并完成数据的预处理,以便后续根据业务需求进行模型开发所需的进一步加工。本示例以PAI为您提供的公开数据为例,演示数据准备与预处理的操作步骤。
前提条件
已经新建了一个工作流,详情请参见新建自定义工作流。
step1:进入工作流页面
登录PAI控制台,在左侧导航栏单击工作空间列表,再单击待操作的工作空间名称,进入对应工作空间内。
在工作空间页面的左侧导航栏选择 ,进入Designer页面。
在工作流列表页面,选中对应工作流后,单击进入工作流即可进入工作流页面。
step2:准备数据
本示例使用PAI为您提供的心脏病案例的公开数据。您无需新建表、写入表数据,可直接使用读数据表来读取此公开数据,作为数据准备。
通常情况下,您需要准备一个MaxCompute表或OSS表,并通过源/目标组件下的读数据表、写数据表、读OSS数据等组件来查询或写入数据到表中,操作详情可参见源/目标对应组件文档。
在左侧组件列表的搜索框中,搜索读数据表,找到读数据表组件。
将读数据表组件拖入右侧画布中,画布中自动生成一个名称为读数据表-1的工作流节点。
在画布中选中读数据表-1节点,在右侧节点配置页面中的表名中输入
pai_online_project.heart_disease_prediction
,读取公开的心脏病案例的数据表。您也可以将右侧的节点配置页面切换到字段信息页签,查看此公开数据的字段详情。
step3:数据预处理
本示例使用的原始数据为公开的心脏病案例的数据,数据预处理以将所有字段取值归一化为例,为您展示数据预处理的步骤。本示例的数据预处理主要包括三个处理流程:
将原始数据表中,取值为非数值类型的字段,通过SQL替换为数值类型的取值,以保证此预处理后,表中所有字段的取值都是数值类型。
将表中字段转换为double类型,以保证此预处理后,表中字段均满足后续归一化处理的字段属性要求。
将表中字段的取值均归一化。
详细操作如下。
数据预处理:转换非数值类型字段。
在左侧组件列表的搜索框中,搜索SQL脚本,找到SQL脚本组件。
将SQL脚本组件拖入右侧画布中,画布中将自动生成一个名称为SQL脚本-1的工作流节点。
通过连线,将SQL脚本-1节点的t1输入源作为读数据表-1节点的下游节点。
在画布中选中SQL脚本-1节点(此时在画布右侧参数设置页面的输入源为t1),在右侧节点配置页面中的SQL脚本输入框中输入以下SQL代码。
select age, (case sex when 'male' then 1 else 0 end) as sex, (case cp when 'angina' then 0 when 'notang' then 1 else 2 end) as cp, trestbps, chol, (case fbs when 'true' then 1 else 0 end) as fbs, (case restecg when 'norm' then 0 when 'abn' then 1 else 2 end) as restecg, thalach, (case exang when 'true' then 1 else 0 end) as exang, oldpeak, (case slop when 'up' then 0 when 'flat' then 1 else 2 end) as slop, ca, (case thal when 'norm' then 0 when 'fix' then 1 else 2 end) as thal, (case status when 'sick' then 1 else 0 end) as ifHealth from ${t1};
说明SQL脚本-1节点有t1、t2、t3和t4四个输入源。在SQL代码示例中,${t1}表示输入源为t1。如果您从读数据表-1到SQL脚本-1连线的节点是t2或其他(在SQL脚本-1的参数设置页面的输入源会显示对应节点),需要修改SQL语句为对应节点。
单击画布上方的运行按钮,实验将根据工作流顺序依次运行读数据表-1、SQL脚本-1节点。
数据预处理:将所有字段转换为double类型。
在左侧组件列表的搜索框中,搜索类型转换,找到类型转换组件。
将类型转换组件拖入右侧画布中,画布中自动生成一个名称为类型转换-1的工作流节点。
通过连线,将类型转换-1节点作为SQL脚本-1节点的下游节点。
在画布中选中类型转换-1节点,在右侧节点配置页面中的字段设置页签,单击转换为double类型的列下的选择字段,将所有字段转换为double类型。
数据预处理:归一化。
在左侧组件列表的搜索框中,搜索归一化,找到归一化组件。
将归一化组件拖入右侧画布中,画布中自动生成一个名称为归一化-1的工作流节点。
通过连线,将归一化-1节点作为类型转换-1节点的下游节点。
在画布中选中归一化-1节点,在右侧节点配置页面中的字段设置页签,选择所有字段。
在左侧组件列表的搜索框中,搜索拆分,找到拆分组件后拖入画布,并将其通过拉线作为归一化-1节点的下游节点。
拆分组件默认将原始数据按4:1拆分为模型训练集和模型预测集。您也可以单击拆分组件,在右侧参数设置页签,设置切分比例。
单击画布上方的保存,保存工作流配置。
step4:调试运行工作流
右键单击画布中的类型转换-1组件,在快捷菜单中单击从此处开始执行,调试运行本工作流。实验将根据工作流顺序依次运行各节点。当节点成功运行完成后,节点的右上角会出现成功提示。运行成功后,您可以右键各节点,选择查看数据,进一步查看当前节点的输出数据是否正确。
当工作流比较复杂时,您可以每拖入一个组件配置完成一个节点后,就单击保存和运行,进行调试。如果运行失败,可右键节点查看日志,进行失败原因的排查处理。
后续步骤
完成数据预处理后,需要进行数据可视化,详情请参见数据可视化。