通常情况下,构建一个模型时,您需要将模型构建调试所需要使用的数据准备好并完成数据的预处理,便于后续根据业务需求进行模型开发所需的进一步加工。本示例使用PAI为您提供的公开数据为例,为您示例数据准备与预处理的操作步骤。

前提条件

已新建一个工作流,详情请参见新建自定义工作流

step1:进入工作流页面

  1. 登录PAI控制台,在左侧导航栏单击工作空间列表,单击待操作的工作空间名称,进入对应工作空间内。
  2. 在工作空间页面的左侧导航栏选择模型开发和训练 > 可视化建模(PAI-Designer),进入Designer页面。
  3. 在工作流列表页面,选中对应工作流后,单击进入工作流即可进入工作流页面。

step2:准备数据

本示例使用PAI为您提供的心脏病案例的公开数据,您无需新建表、写入表数据,可直使用接读数据表来读取此公开数据,作为数据准备。
说明 通常情况下,您需要准备一个MaxCompute表或OSS表,并通过源/目标组件下的读数据表写数据表读OSS数据表等组件来查询或写入数据到表中,操作详情可参见源/目标对应组件文档。
准备数据
  1. 在左侧组件列表的搜索框中,搜索读数据表,找到读数据表组件。
  2. 读数据表组件拖入右侧画布中,画布中自动生成一个名称为读数据表-1的工作流节点。
  3. 在画布中选中读数据表-1节点,在右侧节点配置页面中的表名中输入pai_online_project.heart_disease_prediction,读取公开的心脏病案例的数据表。
    您也可以将右侧的节点配置页面切换到字段信息页签,查看此公开数据的字段详情。

step3:数据预处理

本示例使用的原始数据为公开的心脏病案例的数据,数据预处理以将所有字段取值归一化为例,为您示例数据预处理的步骤。本示例的数据预处理主要包括三个处理流程:
  1. 将原始数据表中,取值为非数值类型的字段,通过SQL替换为数值类型的取值,以保障此预处理后,表中所有字段的取值都是数值类型的取值。
  2. 将表中所有字段均换为double类型,以保障此预处理后,表中所有字段均满足后续归一化处理的字段属性要求。
  3. 将表中所有字段的取值均归一化。
详细操作如下。
  1. 数据预处理:转换非数值类型字段。
    转换数值类型
    1. 在左侧组件列表的搜索框中,搜索SQL脚本,找到SQL脚本组件。
    2. SQL脚本组件拖入右侧画布中,画布中自动生成一个名称为SQL脚本-1的工作流节点。
    3. 通过连线,将SQL脚本-1节点作为读数据表-1节点的下游节点。
    4. 在画布中选中SQL脚本-1节点,在右侧节点配置页面中的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 status
      from  ${t1};
      说明 其中${t1}指代的是SQL脚本-1节点的输入源的表名称。SQL脚本类的节点支持4个输入源,根据拉线组成上下游关系时,接入SQL脚本节点的接入点位置不同,输入源的表名称依次为t1~t4,您需要根据实际情况调整上述代码中的输入源名称。
    5. 单击画布上方运行运行按钮,实验将根据工作流顺序依次运行读数据表-1SQL脚本-1节点。
  2. 数据预处理:转换所有字段为double。
    转换类型
    1. 在左侧组件列表的搜索框中,搜索类型转换,找到类型转换组件。
    2. 类型转换组件拖入右侧画布中,画布中自动生成一个名称为类型转换-1的工作流节点。
    3. 通过连线,将类型转换-1节点作为SQL脚本-1节点的下游节点。
    4. 在画布中选中类型转换-1节点,在右侧节点配置页面中字段设置页签,单击转换为double类型的列下的选择字段,将所有字段转换为double类型。
  3. 数据预处理:归一化。
    归一化
    1. 在左侧组件列表的搜索框中,搜索归一化,找到归一化组件。
    2. 归一化组件拖入右侧画布中,画布中自动生成一个名称为归一化-1的工作流节点。
    3. 通过连线,将归一化-1节点作为类型转换-1节点的下游节点。
    4. 在画布中选中归一化-1节点,在右侧节点配置页面中的字段设置页签,选择所有字段。
  4. 在左侧组件列表的搜索框中,搜索拆分,找到拆分组件后拖入画布,并通过拉线作为归一化-1节点的下游节点。
    拆分组件默认将原始数据按4:1拆分为模型训练集和模型预测集。您也可以单击拆分组件,在右侧参数设置页签,设置切分比例
  5. 单击画布上方的保存,保存工作流配置。

调试运行工作流

单击画布上方运行运行按钮,调试运行本工作流。运行后单击运行按钮后,实验将根据工作流顺序依次运行各节点,当节点成功运行完成后,节点的右上角会出现成功提示运行成功。运行成功后,您可以右键各节点,选择查看数据,进一步查看当前节点的输出数据是否正确。
说明 当工作流比较复杂时,您可以每拖入一个组件配置完成一个节点后,就单击保存和运行,进行调试。如果运行失败可右键节点查看日志,进行失败原因的排查处理。

后续步骤

完成数据预处理后,需要进行数据可视化,详情请参见数据可视化