机器学习雾霾天气预测的数据分析流程

更新时间:

本实践主要介绍通过机器学习平台PAI进行雾霾天气预测实验,对数据进行集成、预处理、模型训练及预测和模型评估的全过程进行展示。

前提条件

大数据计算MaxCompute、DataWorks、PAI基于企业版V3.14及以上版本。

背景信息

机器学习平台PAI进行雾霾天气预测实验,对数据进行集成、预处理、模型训练及预测和模型评估的全过程进行展示。

组件介绍

大数据计算服务(MaxCompute)是面向大数据处理的分布式系统,主要提供结构化数据的存储和计算,服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。MaxCompute的目的是为用户提供一种便捷的分析处理海量数据的手段。用户可以不必关心分布式计算细节,从而达到分析大数据的目的。

DataWorks数据工场为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务,一站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。DataWorks支持离线同步、Shell、ODPS SQL、ODPS MR等多种节点类型,通过节点之间的相互依赖,对复杂的数据进行分析处理。DataWorks提供可视化的代码开发、工作流设计器页面,无需搭配任何开发工具,简单拖拽和开发,即可完成复杂的数据分析任务。

机器学习平台PAI(Platformof Artificial Intelligence)是阿里云人工智能平台,提供一站式的机器学习解决方案,面向企业客户及开发者,提供轻量化、高性价比的云原生机器学习。PAI支持丰富的机器学习算法、一站式的机器学习体验、主流的机器学习框架及可视化的建模。

实践步骤

一、准备机器学习所需计算资源。

首先需要创建大数据MaxCompute的项目,配置计算资源,CPU、内存、存储空间,做大数据计算使用。

  1. 创建大数据MaxCompute项目。

    1. 登录Apsara Uni-manager运营控制台,选择大数据计算 MaxCompute,进入大数据计算服务界面。1

    2. 首先,单击创建,创建计算资源配额组作为计算资源使用,单位为cu,1 cu=1 core4G内存,可基于计算所需资源进行设置。234

    3. 单击新建云账号,创建任务云账号,一个云账号可以关联多个项目资源。56

    4. 创建Max Compute集群,选择刚创建的配额组和任务云账号,MaxCompute项目之间默认是互相隔离的空间。789

  2. 创建DataWorks工作空间。

    DataWorks一站式数据管理开发的工具,可以对MaxCompute大数据项目的数据进行开发,需要创建DataWorks工作空间并与MaxCompute项目进行关联。

    1. 登录Apsara Uni-manager运营控制台,在上方导航栏选择单击产品>大数据>DataWorks10

    2. 首先,选择全部产品>组织管理,单击创建工作空间,关联MaxCompute项目。111213

    3. 创建工作空间业务流程。

      1. 创建完成之后,单击进入工作区,单击新建业务流程,在当前业务流程可以进行数据集成、数据开发等操作。141516

二、机器学习进行实验分析。

  1. 运行雾霾天气预测。

    1. 登录Apsara Uni-manager运营控制台,在上方导航栏选择产品>大数据>机器学习 PAI1

    2. 选择模型开发和训练>可视化建模(Studio),选择之前创建DataWorks创建的项目名称,单击进入机器学习,进入机器学习PAI页面。1819

    3. 单击左侧首页,可以查看模板列表,包含各行业案例库,选择雾霾天气预测,单击从模板创建,创建雾霾天气预测实验。202122

    4. 单击画布上方的运行,进行雾霾天气预测实验分析。23

    5. 等所有的运行节点都显示运行完成后即可查看运行结果。24

  2. 运行结果分析。

    本实验通过分析北京2016年的真实天气数据,构建雾霾天气预测模型,从而挖掘对雾霾天气(指PM 2.5)影响最大的污染物。

    1. 在雾霾天气预测实验分析页面,实验运行完成后,选择pai_online_project.wumai_data数据表,右键单击,选择查看数据,即可查看到2016年全年(以小时为单位)的北京空气指标数据,该数据为输入数据表。2526各输入字段含义如下:

      字段名

      类型

      描述

      time

      STRING

      日期,精确到天。

      hour

      STRING

      第几小时的数据。

      pm2

      STRING

      PM 2.5指标。

      pm10

      STRING

      PM 10指标。

      so2

      STRING

      二氧化硫指标。

      co

      STRING

      一氧化碳指标。

      no2

      STRING

      二氧化氮指标。

    2. 如下图所示红框部分为数据集成及数据预处理过程,将数据源进行归一化转化便于分析。

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

      2. 通过类型转换组件,将STRING类型的数据转换为DOUBLE类型。

      3. 通过SQL脚本组件,将目标列转换为01的二值类型。本实验中,pm2列为目标列。数值大于200的作为重度雾霾天气,将其标记为1,反之标记为0。SQL语句如下。

        select time,hour,(case when pm2>200then 1 else 0 end),pm10,so2,co,no2 from ${t1};
      4. 通过归一化组件,去除量纲,即将不同指标污染物的单位统一。27

    3. 图中红框部分为数据统计分析可视化,可以直观查看数据预处理后的结果,本实验使用的可视化组件为直方图和数据视图。28

      1. 选择画布中的直方图-1,在快捷菜单,右键单击查看分析报告,可以查看直方图可视化分析。

        通过直方图组件以可视化的方式查看每种污染物的分布情况。

        PM2.5为例,数值出现最多的区间为11.74~15.61,共430次,如下图所示。2930

      2. 选择画布中的数据视图-1,在快捷菜单,右键单击查看分析报告,可以查看数据视图可视化分析。

        通过数据视图,可以查看每种污染物不同区间对于结果的影响。

        no2为例,在112.33~113.9区间产生了7个目标列为0的目标和9个目标列为1的目标(如下图所示)。因此,no2112.33~113.9区间时,出现重度雾霾天气的概率较高。熵和基尼系数表示该特征区间对于目标值的影响(信息量层面的影响),数值越大影响越大。3132

    4. 图中红框部分为模型训练和预测,基于数据进行训练和预测结果,本实验使用的是随机森林和逻辑回归二分类模型。33

      以随机森林分支为例,右键单击画布中的随机森林-1,在快捷菜单,单击模型选项 > 查看模型,查看该预测模型。34

      可以查看到随机森林模型训练输出如下:35

      右键单击画布中的预测-1,在快捷菜单,单击查看数据,即可查看预测数据。3637

    5. 图中红框部分为模型评估,本实验使用的是二分类评估。38

      右键单击画布中的二分类评估-1,在快捷菜单,单击查看评估报告39

      在评估报告对话框,单击图表页签,即可查看随机森林训练模型的预测效果。AUC的取值表示随机森林组件训练的雾霾天气预测模型的准确率达到了99%以上。40