阿里云 |机器学习基础任务快速入门教程
2019年01月27日 由 荟荟 发表
669601
0
开始使用阿里云机器学习
阿里云机器学习平台是一套基于MaxCompute(原ODPS)的数据挖掘、建模、预测的工具,为您提供算法开发、分享、模型训练、部署、监控等一站式算法服务。通过统计学算法,对大量的历史数据进行学习从而生成经验模型,利用经验模型指导业务。您可以通过可视化的操作界面来操作整个实验流程,同时也支持PAI命令,您可通过命令行来操作实验。
本文档主要描述如何在机器学习平台上完成一些基本的任务。
文章将从以下顺序为您介绍:
- 1.快速开通并创建
- 2.数据准备
- 3.数据预处理
- 4.数据可视化
- 5.算法建模
- 6.模型评估
一.开通和创建
1.登陆阿里云官网,请先注册阿里云账号。
2.进入
MaxCompute,选择相应的区域进行购买。目前阿里云机器学习支持“华东2”、“华北2”和“华南1”三个区域,推荐使用“华东2”,注意选择“按量付费”,如下图所示。
3.单击管理控制台进入机器学习控制台开通项目。需要完成以下三步:实名认证、创建AK、开通项目。
完成以上流程后,在控制台单击进入机器学习。
1.单击左上角的
首页,进入产品首页。
2.选择一个模板创建。单击
从模板创建开始创建模板,单击
查看文档可以看到详细的案例说明。
模板包含完整的实验流程以及数据,可以帮助您快速上手使用,新手建议使用心脏病预测模板,可以参照文档进行学习。
3.模板创建需要十秒钟左右时间,创建成功后如下图所示。单击
运行开始实验,可以右键单击每个组件观察实验产出。
二.数据准备
1.机器学习平台上传数据说明
机器学习平台底层支持两种数据源,一种是MaxCompute存储数据,另一种是OSS存储数据。
注意:使用MaxCompute作为存储,建议当数据小于20MB时使用机器学习IDE环境上传,当数据大于20MB时使用命令行工具上传。
- MaxCompute上传数据:MaxCompute主要用来存储表结构数据,支持稀疏与稠密两种格式的数据,支持机器学习IDE上传和命令行工具上传两种方式。这部分的数据主要针对平台中除了深度学习以外的算法组件。
- OSS上传数据:OSS数据源主要针对深度学习相关算法组件,可用来存储结构化或非结构化数据。
2.IDE端上传数据到MaxCompute
(1).进入机器学习平台,单击数据源,创建表。
(2).选择相应的数据源,并创建与之匹配的字段。建议使用txt格式上传,csv格式易出现特殊字符。
对于稀疏格式数据,请参考
libsvm数据使用文件上传数据。
命令行工具上传数据到MaxCompute
MaxCompute提供多种数据上传方式。请参考数据迁移到MaxCompute的N种方式,选择最合适的方式上传数据。
OSS上传数据
OSS上传数据,请参见:
https://promotion.aliyun.com/ntms/act/ossdoclist.html。
操作步骤
1.开通并进入机器学习界面后,单击左边菜单栏的
首页,选择
新建->新建空白试验,如下图所示。
2.单击左边菜单栏的
组件,打开
源/目标文件夹,向画布中拖入
读数据表组件,在右侧表选择栏填入对应的MaxCompute表名,如下图所示。
3.切换到字段信息栏,如下图所示,可以查看输入表的字段名、数据类型和前100行数据的数值分布。
三.数据预处理
1.数据准备完成后,单击组件,在工具和数据预处理文件夹下将SQL脚本、类型转换、归一化组件拖到画布中,并拼接成如下实验。
2.单击SQL脚本组件,在画布右侧的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};
3.单击
数据转换组件,在画布右侧的
字段设置页签,单击
转换为double类型的列下方的
选择字段,选择全部字段,将字段类型转换为double。
4.单击
归一化组件,在画布右侧的
字段设置页签,选择全部字段。完成后单击画布下方的
运行,系统将自动开始运行实验,在运行过程中可右键查看各组件的输出。
5.在
数据预处理文件夹下,将
拆分组件拖到画布中,并拼接运行,如下图所示。
说明:此步骤的目的是将数据拆分成两份,80%作为模型训练集,20%作为模型预测集。
四.数据可视化
1.在
统计分析文件夹下,将
全表统计组件拖入画布中,连接并运行,如下图所示。
2.待实验运行结束后,右键单击
全表统计,选择
查看数据,可看到数据的全表统计信息,如下图所示。
五.算法建模
1.在
机器学习->二分类文件夹下,将
逻辑回归二分类组件拖入画布。
2.在右侧的
字段设置页签,将目标列设置为“ifhealth”,
训练特征列选择除目标列以外的全部列,并拼接运行,如下图所示。
六.模型评估
1.在
机器学习文件夹下,将
预测组件拖入画布,并连接对应的组件流和数据流,如下图所示。
2.在
机器学习->评估文件夹下,将
二分类评估组件拖入画布。在画布右侧的
字段设置页签,将
原始标签列列名设置为“ifhealth”,并连接对应的组件流和数据流。
3.单击
运行。完成后右键单击
二分类评估组件,选择
查看评估报告,单击
图表页签,得到不同参数下训练的LR模型的ROC曲线,如下图所示。