如何用大数据开发套件周期调度机器学习算法

简介: 讨论如何用大数据的开发套件的调度功能和机器学习产品,进行自动化调度的机器学习计算。

机器学习能发现数据下隐藏的各种客观规律,对提高产品的智能化程度,提升用户满意度等方面有很大的帮助,这里不再赘言。那么怎么实现一个机器学习系统,并和大数据的开发套件上的调度结合起来实现自动化呢,本文就一些测试数据做一个例子。

场景假设

我这里用著名的鸢尾花数据集作为测试数据。那就假设我是一个植物研究院,希望根据已经有的一些花的数据和分类,判断新收集上来的样本的花的类型(类似的,企业数据里可以判断用户会不会买,会不会投诉甚至流失)。这里用的算法就先简单一些,用朴素贝叶斯。

使用场景是,假设我们的项目里已经有一些历史的花的数据,每天训练可能还会有一些更新。希望针对这些训练数据,做出一个算法模型,预测新采集到的花的类型。

数据准备

我Iris表存放当天的全量训练集。而预测集,用Iris_daily表做每天增量同步。具体每天配置增量同步的方法,可以参考这个例子。比如1月18日凌晨做的计算,会计算1月17日的全量数据。那就把17日的数据放到ds='20170117'这个分区里。

表结构如下
odps@ >desc iris_daily;

+------------------------------------------------------------------------------------+
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2017-01-18 13:31:40                                      |
| LastDDLTime:              2017-01-18 13:31:40                                      |
| LastModifiedTime:         2017-01-18 13:39:45                                      |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 1960                                               |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| sepal_length    | double     |       |                                             |
| sepal_width     | double     |       |                                             |
| petal_length    | double     |       |                                             |
| petal_width     | double     |       |                                             |
| category        | string     |       |                                             |
+------------------------------------------------------------------------------------+
| Partition Columns:                                                                 |
+------------------------------------------------------------------------------------+
| ds              | string     |                                                     |
+------------------------------------------------------------------------------------+

--浏览一下前几条数据:
+--------------+-------------+--------------+-------------+------------+------------+
| sepal_length | sepal_width | petal_length | petal_width | category   | ds         |
+--------------+-------------+--------------+-------------+------------+------------+
| 5.1          | 3.5         | 1.4          | 0.2         | Iris Setosa | 20170117   |
| 4.9          | 3.0         | 1.4          | 0.2         | Iris Setosa | 20170117   |
| 4.7          | 3.2         | 1.3          | 0.2         | Iris Setosa | 20170117   |
+--------------+-------------+--------------+-------------+------------+------------+

模型训练

我们先在机器学习产品里搭建一个算法。看一下效果。画布区的配置可以参考下面截图(这里需要说明的是,在机器学习画布区里测试的时候yyyyMMdd测试的时候业务期是今天,但是实际上企业上我们都是今天跑昨天的数据,业务期也是昨天的,可以在画布区把任务先配置成"ds=@@{yyyyMMdd-1d}",到后面嵌入到大数据开发套件前再改成ds=@@{yyyyMMdd},):
screenshot
朴素贝叶斯的配置如图:
screenshot
咱们先跑一次这个模型,可以看到预测的结果如图:
screenshot
Iris Setosa的数据和其他的2个分类的区分度比较大,所以预测都是准的。但是Iris Virginica和Iris Versicolour之间区别不大,甚至有一些交集,就会有一些临界点的数据容易预测不准。下图来自机器学习产品的散点图模块。
screenshot
训练的结果咱们也看下(这里就截了混淆矩阵和统计信息):
screenshot
screenshot

至此机器学习实验的配置结束。如果觉得这个例子有点简单,还没能理解机器学习的配置方法,可以在创建实验的时候使用模板来创建,里面已经把数据、实验配置都弄好了,更容易理解算法的用法。

定时调度

毕竟我们不能每天去手工跑一次实验,我们可以用大数据开发套件创建一个任务,把数据的前文提到的数据导入、后续的导出等串起来。

我们需要先创建一个工作流,在工作流里配置任务,如图:
screenshot
对于机器学习组件,我们双击组件,进去选择之前配置的实验即可。后续的任务的测试,发布流程和大数据开发套件里的其他组件的用法是一样的。

其他

可能大家在机器学习的控制台有看到一个在线预测的功能,这是一个后续会推出的新功能。我们看到现在我们的预测是离线算好的。如果是实时预测不是更Cool嘛。比如前面提到的购买行为、用户投诉行为的预测,都需要较好的时效性。后续通过在线预测的功能就可以实现这个功能啦~

看到这里,可能你还有一个疑问,为什么我不用更加常见的企业个性化推荐场景做例子呢?自己使用底层产品自己搭建固然可以,但是更好的方法是使用已经有的产品,省的自己重复造轮子,把资源更多地投入到业务上。所以可以参考推荐引擎,或许更加适合你。

本文使用的产品涉及大数据计算服务(MaxCompute),地址为https://www.aliyun.com/product/odps
机器学习 https://data.aliyun.com/product/learn
配合大数据开发套件 https://data.aliyun.com/product/ide 完成的。
如果有问题,可以加入我们的钉钉群来咨询
screenshot

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 搜索推荐
利用机器学习算法改善电商推荐系统的效率
电商行业日益竞争激烈,提升用户体验成为关键。本文将探讨如何利用机器学习算法优化电商推荐系统,通过分析用户行为数据和商品信息,实现个性化推荐,从而提高推荐效率和准确性。
|
20天前
|
机器学习/深度学习 算法 搜索推荐
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
Machine Learning机器学习之决策树算法 Decision Tree(附Python代码)
|
12天前
|
机器学习/深度学习 自然语言处理 算法
|
28天前
|
机器学习/深度学习 分布式计算 算法
大模型开发:你如何确定使用哪种机器学习算法?
在大型机器学习模型开发中,选择算法是关键。首先,明确问题类型(如回归、分类、聚类等)。其次,考虑数据规模、特征数量和类型、分布和结构,以判断适合的算法。再者,评估性能要求(准确性、速度、可解释性)和资源限制(计算资源、内存)。同时,利用领域知识和正则化来选择模型。最后,通过实验验证和模型比较进行优化。此过程涉及迭代和业务需求的技术权衡。
|
1月前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据处理到算法优化
【2月更文挑战第30天】 在数据驱动的时代,构建一个高效的机器学习模型是实现智能决策和预测的关键。本文将深入探讨如何通过有效的数据处理策略、合理的特征工程、选择适宜的学习算法以及进行细致的参数调优来提升模型性能。我们将剖析标准化与归一化的差异,探索主成分分析(PCA)的降维魔力,讨论支持向量机(SVM)和随机森林等算法的适用场景,并最终通过网格搜索(GridSearchCV)来实现参数的最优化。本文旨在为读者提供一条清晰的路径,以应对机器学习项目中的挑战,从而在实际应用中取得更精准的预测结果和更强的泛化能力。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法
【机器学习】包裹式特征选择之拉斯维加斯包装器(LVW)算法
51 0
|
1月前
|
机器学习/深度学习 存储 算法
【机器学习】包裹式特征选择之基于遗传算法的特征选择
【机器学习】包裹式特征选择之基于遗传算法的特征选择
52 0
|
1月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
27 1
|
1月前
|
机器学习/深度学习 数据采集 算法
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
解码癌症预测的密码:可解释性机器学习算法SHAP揭示XGBoost模型的预测机制
105 0
|
1月前
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
66 0

相关产品

  • 云原生大数据计算服务 MaxCompute