快速创建机器学习工作流

本文以创建一个基于逻辑回归二分类进行房价高低分类的机器学习工作流为例,体验快速创建机器学习工作流过程:

  1. 添加数据源;

  2. 添加工作流模板;

  3. 运行工作流模板创建运行实例;

  4. 查看运行实例结果。

添加数据源

数据源介绍参考 数据源

  1. 左侧功能栏选择“数据管理->数据源”;

  2. 单击右上角添加数据源;

  3. 以预置的容器应用中的 mysql 数据库为例,数据库为 1990 年加利福尼亚州人口普查数据,数据库来自于 kaggle数据 。具体字段如下, DOUBLE 类型数据均被均值方差归一化:

    表 1 数据集字段

    字段名

    类型

    描述

    经度

    DOUBLE

    房子区域所在经度。

    纬度

    DOUBLE

    房子区域所在纬度。

    房屋年龄中位数

    DOUBLE

    房子区域内房屋年龄中位数。

    房间总数

    DOUBLE

    房子区域房间总数。

    卧室总数

    DOUBLE

    房子区域卧室总数。

    人口数

    DOUBLE

    房子区域人口数。

    家庭数

    DOUBLE

    房子区域家庭数。

    收入中位数

    DOUBLE

    房子区域收入中位数。

    房价中位数

    DOUBLE

    房子区域家庭房屋价值中位数。

    房价中位数是否较高

    DOUBLE

    房子区域家庭房屋价值中位数是否高

    于预设值,高于为1,不高于为0,预

    设值为所有区域房价平均值。

  4. 按以下步骤填写表单:

    1. 填写“名称”,配置“他人访问权限”;

    2. 选择“类型”为“MySQL”;

    3. “地址”填写为容器应用“详情”下的内部访问地址: 应用名称-v1.ns-项目id

    4. “数据库”填写为容器应用详情下“容器”页的环境变量中的“MYSQL_DATABASE”;

    5. “用户名”填写为“root”;

    6. “密码”填写为容器应用详情下“容器”页的环境变量中的“MYSQL_ROOT_PASSWORD”;

    7. 填写表单如下图:

      ../_images/quick_start_form_datasource.png

      图 1 数据源表单填写示例

  5. 单击“添加”按钮添加数据源。

添加工作流模板

工作流中通过多个组件组合实现分析加州房子所在位置、房龄、房间数等房子属性,以及所在社区人口数量、家庭数、平均家庭收入、平均房价等社区属性,构建加州房价高低分类模型,从而根据房子属性以及房子所在社区属性,对房子价格高低进行分类预测。

  1. 左侧功能栏选择“AI 工作流->工作流模板”;

  2. 单击“添加工作流模板”,右侧表单填写“名称”,选择“他人访问权限”,填写描述;

  3. 单击“添加”,进入工作流详情页面;

  4. 通过拖拽依次添加机器学习组件并进行连接:

    1. 添加数据源组件,填写参数;

      ../_images/quick_start_datasource.png

      图 2 数据源参数示例

    2. 添加类型转换组件,连接数据源组件的输出 result 节点和类型转换组件的输入 result 节点,填写参数;

      ../_images/quick_start_datatypeconverter.png

      图 3 类型转换参数示例

    3. 添加K均值聚类组件,连接类型转换组件的输出 result 节点和K均值聚类组件的输入 result 节点,填写参数;

      ../_images/quick_start_kmeansclustering.png

      图 4 K均值聚类参数示例

    4. 添加归一化组件,连接类型转换组件的输出 result 节点和归一化组件的输入 result 节点,填写参数;

      ../_images/quick_start_normalize.png

      图 5 归一化参数示例

    1. 添加直方图组件,连接归一化组件的输出 result 节点和直方图组件的输入 result 节点,填写参数;

      ../_images/quick_start_histogram.png

      图 6 直方图参数示例

    1. 添加奇异值分解组件,连接归一化组件的输出 result 节点和奇异值分解组件的输入 result 节点,填写参数;

      ../_images/quick_start_singularvaluedecomposition.png

      图 7 奇异值分解参数示例

    2. 添加拆分组件,连接归一化组件的输出 result 节点和拆分组件的输入 result 节点,填写参数;

      ../_images/quick_start_splitdata.png

      图 8 拆分参数示例

    3. 添加逻辑回归二分类分类组件,连接拆分组件的输出 train 节点和逻辑回归二分类组件的输入 train 节点,填写参数;

      ../_images/quick_start_logisticregressionbinaryclassifier.png

      图 9 逻辑回归二分类参数示例

    4. 添加机器学习预测组件,连接逻辑回归二分类组件的输出 model 节点和机器学习预测组件的输入 model 节点,连接拆分组件的输出 test 节点和机器学习预测组件的输入 test 节点,填写参数;

      ../_images/quick_start_machine_learning_predictor.png

      图 10 机器学习预测参数示例

    5. 添加二分类评估组件,连接机器学习预测组件的输出 result 节点和二分类评估组件的输入 result 节点,填写参数;

      ../_images/quick_start_binary_classification_evaluator.png

      图 11 二分类评估参数示例

运行工作流模板创建运行实例

  1. 按照上述步骤添加好组件之后,构建好的 AI 工作流如下图所示:

    ../_images/pipeline_housing-price_template_detail.png

    图 12 工作流详情

表 2 工作流详情介绍

区域

描述

1

数据导入及预处理:

  1. 通过 数据源 组件,导入数据源。

  2. 通过 类型转换 组件,将模型输入字段数据转为DOUBLE类型,将模型预测字段转为

    INT类型。

  3. 通过 归一化 组件,将经度和纬度字段数据进行MIN-MAX归一化。

  4. 通过 K均值聚类 组件,根据经纬度对房子区域进行聚类。

  5. 通过 拆分 组件,按照切分比例对输入样本进行随机拆分成训练集和测试集。

  6. 通过 奇异值分解 组件,对经度、纬度以及房子平均年龄字段数据进行奇异值分解。

2

统计分析:

通过 直方图 组件,显示经度、纬度、房间数、卧室数的区间分布情况。

3

模型训练及预测,本实验使用逻辑回归二分类组件进行模型训练。

4

模型评估。

  1. 单击详情页面右上方的“运行”,弹出“创建运行实例”表单,按照页面提示,配置运行实例“名称”、“他人访问权限”、“描述”,选择“创建”。

    ../_images/pipeline_housing-price_template_run.png

    图 13 运行工作流模板

查看运行实例结果

  1. 点击左上角返回到“工作流模板”,左侧功能栏选择“AI 工作流->运行实例”;

  2. 搜索“housing-price”运行实例,检查并确认右侧状态栏为“成功”;

    ../_images/pipeline_housing-price_runner_status.png

    图 14 实例运行状态

  3. 点击“housing-price”实例名称进入详情页面,查看运行结果,鼠标移动到画布区域拖拽可以移动运行图的整体位置。

    ../_images/pipeline_housing-price_runner_detail.png

    图 15 实例详情页面

  4. 页面初始显示运行图以及实例信息,实例信息包含创建时间、创建人、他人访问权限、工作流以及描述,点击组件名称就可以进入组件详情页,点击画布空白区域重新显示实例信息。

  5. 点击“数据源”,首先显示“配置信息”,点击“可视化”,支持预览数据源的表格数据,点击“日志”,显示容器运行日志。

    ../_images/pipeline_housing-price_runner_datasource_config.png

    图 16 数据源配置信息

    ../_images/pipeline_housing-price_runner_datasource_visualization.png

    图 17 数据源可视化

    ../_images/pipeline_housing-price_runner_datasource_log.png

    图 18 数据源日志

  6. 点击“类型转换”,点击“可视化”,支持预览类型转换后的表格数据。

    ../_images/pipeline_housing-price_runner_datatypeconverter_visualization.png

    图 19 类型转换可视化

  7. 点击“归一化”,点击“可视化”,支持预览归一化后的表格数据。

    ../_images/pipeline_housing-price_runner_normalize_visualization.png

    图 20 归一化可视化

  8. 点击“K 均值聚类”,点击“可视化”,支持预览 K 均值聚类得到的聚类结果表、聚类中心表和聚类统计表及相关介绍,点击“文件列表”,支持显示文件信息及下载。

    ../_images/pipeline_housing-price_runner_kmeansclustering_visualization.png

    图 21 K 均值聚类可视化

    ../_images/pipeline_housing-price_runner_kmeansclustering_files.png

    图 22 K 均值聚类文件列表

  9. 点击“拆分”,点击“可视化”,支持预览拆分得到的训练集和测试集及相关介绍。

    ../_images/pipeline_housing-price_runner_split_visualization.png

    图 23 拆分可视化

  10. 点击“奇异值分解”,点击“可视化”,支持预览奇异值分解得到的U、S、VT三个矩阵表格数据。

    ../_images/pipeline_housing-price_runner_singularvaluedecomposition_visualization.png

    图 24 奇异值分解可视化

  11. 点击“直方图”,点击“可视化”,显示房子区域经度、维度、房间数以及卧室数的区间分布直方图。

    ../_images/pipeline_housing-price_runner_histogram_visualization.png

    图 25 直方图可视化

  12. 点击“逻辑回归二分类”,点击“文件列表”,显示训练输出模型文件信息并支持下载。

    ../_images/pipeline_housing-price_runner_logisticregressionbinaryclassifier_files.png

    图 26 逻辑回归二分类文件列表

  13. 点击“机器学习预测”,点击“可视化”,显示逻辑回归二分类训练模型文件在测试集上的预测结果以及预测置信度。

    ../_images/pipeline_housing-price_runner_predictor_visualization.png

    图 27 机器学习预测可视化

  14. 点击“二分类评估”,点击“可视化”,显示等频详细数据表、等宽详细数据表以及综合指标表,鼠标向下滚动依次显示 Cumulative Gains Curve、KS Curve、Lift Curve、Precision-Recall Curve 以及 Receiver Operating Characteristic (ROC) Curve。

    ../_images/pipeline_housing-price_runner_binaryclassificationevaluator_visualization.png

    图 28 二分类评估可视化