自动机器学习:团队如何在自动学习项目中一起工作?(附链接)
来源 | 数据派THU
作者 | Francesca Lazzeri
翻译 | 王琦
责编 | Carol
出品 | AI科技大本营(ID:rgznai100)
去年11月,我写了一篇关于使用自动机器学习来进行AI民主化(democratization)的文章(见下面链接)。
附链接:
https://medium.com/microsoftazure/democratize-artificial-intelligence-with-automated-machine-learning-169b348a9509
在今天这篇文章中,我将会向你展示自动机器学习的用例(发布在Github上了,见下面链接)。本文介绍了在零售商工作的数据科学家、项目经理和业务主管利用自动机器学习和Azure机器学习服务来减少产品库存过剩的具体过程。
附链接:
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb?WT.mc_id=azuremedium-blog-lazzeri
此外,本文还介绍了数据科学家、项目经理和业务主管各自如何使用自动机器学习来改进团队合作和学习,并促进数据科学新方案的成功实现。
当谈到在组织里执行机器学习项目时,数据科学家、项目经理和业务主管需要一起工作来部署最好的模型,从而满足特定的业务目标。这一步的中心目标就是识别出需要在分析中预测的关键业务变量。我们将这些变量看成模型的目标,然后使用和它们相关的指标来确保项目的成功。
在这个用例中(该用例对公众开放,发布在GitHub上),我们将会看到在零售商工作的数据科学家、项目经理和业务主管如何利用自动机器学习和Azure机器学习服务来减少商品的库存过剩。Azure机器学习服务是一个你可以用来训练、部署、自动化和管理机器学习模型的云服务,所有这些都可以在云提供的范围内进行。Azure机器学习服务中的自动机器学习是获取已定义目标特征的训练数据,并通过算法组合和特征选择进行迭代,从而基于训练分数来为你的数据自动选择最好模型的过程。
多余的库存很快就变成了一个流动性问题,除非我们通过折扣和促销来减少利润,否则它就不能转换成现金。或者更糟糕的是,当其累计到一定程度被送到其他渠道比如经销店,这会延迟其销售。提前确定哪些产品不会达到他们期望的周转水平,并通过与销售预测相符的库存补给来控制补货,这是帮助零售商实现投资回报率(ROI)的关键因素。让我们看看团队如何着手解决这个问题以及自动机器学习如何使整个公司的AI民主化。
为公司确定正确的业务目标
正确的产品组合和库存水平可以取得丰厚的销售额和利润。要实现这一理想组合,就需要拥有最近的、准确的库存信息。手动处理不仅花费时间,导致当前的、准确的库存信息的延迟,而且增加了出错的可能性。这些延迟和错误很可能会由于库存过剩、库存不足和缺货而导致收入损失。
库存过剩也可能占用宝贵的仓库空间,并占用本应用于购买新库存的现金。但以清算模式出售过剩的库存可能会引起一系列问题,例如损害声誉和冲击其他现有同类产品的销售。
作为数据科学家与业务运营之间桥梁的项目经理,与业务主管联系,讨论使用其内部的、以往的销售额中的一部分来解决其库存过剩问题的可能性。项目经理和业务主管通过询问和完善与业务目标相关的具体问题来定义项目目标。
此阶段主要有两个任务:
定义目标:项目经理和业务主管需要识别业务问题,最重要的是,提出问题以定义数据科学技术可以针对的业务目标;
识别数据源:项目经理和数据科学家需要找到相关数据来帮助回答定义项目目标的问题。
寻找正确的数据和流水线
这一切都要从找数据开始。项目经理和数据科学家需要识别包含业务问题答案的已知示例的数据源。 他们寻找以下类型的数据:
与问题相关的数据。 他们是否有针对目标的指标以及与目标相关的特征?
可以准确衡量其模型目标和感兴趣特征的数据。
在此阶段,数据科学家需要解决三个主要的任务:
将数据应用到目标的分析环境中;
探索数据以确定数据质量是否足以回答问题;
建立数据流水线以对新数据或定期刷新的数据进行评分。
在将数据从源位置移动到可以运行分析操作的目标位置之后,数据科学家开始处理原始数据来产生干净的、高质量的数据集,该数据集与目标变量的关系是被充分理解的。在训练机器学习模型之前,数据科学家需要对数据有充分的了解,通过创建数据摘要和可视化来审核数据的质量,并在准备好建模之前提供处理数据所需的信息。
最后,数据科学家还负责开发数据流水线解决方案的架构,该架构会定期对数据进行刷新和评分。
通过自动机器学习预测橙汁的销售
数据科学家和项目经理决定使用自动机器学习有以下几个原因:自动机器学习让有或没有数据科学专业知识的客户都能针对任何问题来确定端到端机器学习的流水线,从而在花费更少时间的同时来取得更高的准确性。 而且,它还可以运行大量实验,从而加快了面向生产就绪型的智能经验的迭代。
让我们看看使用自动机器学习进行橙汁销售预测的过程如何实现这些好处。
在对业务目标以及应使用哪种类型的内部的以往数据来达成目标达成一致后,数据科学家将创建一个工作区。该工作区是该服务的顶级资源,为数据科学家提供了一个集中的地方来处理他们需要创建的所有工件。在Azure机器学习服务中创建工作区时,会自动添加以下Azure资源(如果它们在区域中可用):
Azure容器注册表
Azure存储
Azure应用程序洞见
Azure密钥保管库
要运行自动机器学习,数据科学家还需要做一个实验。实验是工作区中的一个命名对象,它代表一个预测性任务,该任务的输出是经过训练的模型和该模型的一组评估指标。
数据科学家现在已经准备好加载以往的橙汁销售数据,并将CSV文件加载到简单的pandas 中的DataFrame类型中。CSV中的时间列称为WeekStarting ,因此它会被专门地解析为日期时间类型。
DataFrame中的每一行表示某个商店中某个橙汁品牌的每周销售量。数据还包括销售价格、用来显示橙汁品牌每周是否在商店中做广告的标记以及基于商店位置的一些客户人口统计信息。由于历史原因,该数据还包括销售数量的对数。
我们目前的任务是为“数量”列构建时间序列模型。重要的是我们要注意到该数据集由许多单独的时间序列组成;每个时间序列都是针对商店和品牌的唯一组合。 为了区分各个时间序列,我们定义了grain,grain是其值能够确定时间序列之间边界的列。
为了以后的预测效果评估,我们将数据分为训练集和测试集。在这之后,数据科学家开始建模来执行预测任务,并且自动机器学习使用针对时间序列的预处理和估计步骤。自动机器学习将执行以下预处理步骤:
检测时间序列样本的频率(例如每小时、每天、每周),并为不存在的时间点创建新记录来让序列变得有规律。 有规律的时间序列具有定义明确的频率,并且在连续的时间间隔中的每个采样点都有一个值;
通过正向填充(forward-fill)和特征列的列中位数来估算目标中的缺失值;
创建基于grain的特征来实现不同序列之间的固定效应;
创建基于时间的特征来协助季节性模式的学习;
将分类变量编码为数字量。
对于一个自动机器学习训练任务,AutoMLConfig对象定义了设置和数据。以下是用于训练橙汁销售预测模型的自动机器学习配置参数的概要:
访问GitHub以获取有关预测的更多信息(见下面链接)。每次迭代都在实验中运行,并存储来自自动机器学习迭代的序列化的流水线,直到它们找到在验证集上表现最佳的流水线为止。
附链接:
https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/automated-machine-learning/forecasting-orange-juice-sales/auto-ml-forecasting-orange-juice-sales.ipynb?WT.mc_id=azuremedium-blog-lazzeri
评估完成后,数据科学家、项目经理和业务主管再次会面以检查预测结果。项目经理和业务主管的工作是了解输出并根据这些结果选择实际步骤。 业务主管需要确认最佳模型和流水线以满足业务目标。此外,机器学习解决方案以可接受的准确性回答了把系统部署到生产中的各种问题,以供内部销售的预测应用程序使用。
微软在自动机器学习上的投资
自动机器学习基于Microsoft Research部门的一项突破。该方法结合了协同过滤和贝叶斯优化的思想,可以智能、高效地搜索可能的机器学习流水线的巨大空间。
现在,它作为Azure机器学习服务的一部分提供给你。正如你在此处所看到的,无论有无数据科学专业知识,自动机器学习都可以使客户确定端到端机器学习流水线,以解决任何问题,并在提高准确性的同时节省时间。它还可以运行大量实验并加快迭代速度。自动机器学习如何使你的组织受益?你的团队如何使用机器学习来更紧密地合作从而达到业务目标?
资源
了解有关Azure机器学习服务的更多信息:
https://docs.microsoft.com/en-us/azure/machine-learning/service/?WT.mc_id=azuremedium-blog-lazzeri
了解有关自动机器学习的更多信息:
https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml
开始免费试用Azure机器学习服务:
https://azure.microsoft.com/en-us/trial/get-started-machine-learning/?WT.mc_id=azuremedium-blog-lazzeri
作者简介:
Francesca Lazzeri是一位机器学习科学家、作家和演讲者。她领导着一支由微软的云倡导者、数据科学家和开发人员组成的国际团队。加入微软之前,她是哈佛大学技术与运营管理部门的研究员。她还是微软“Women@NERD”协会的董事会成员、麻省理工学院和哥伦比亚大学的数据科学导师以及AI社区的活跃成员。
【end】
◆
精彩推荐
◆
推荐阅读
福利直达!CSDN技术公开课评选进行中
直播进行中 | 技术驰援抗疫一线, Python 线上峰会全天精彩呈现
分布式数据集训营,从入门到精通,从理论到实践,你不可错过的精品课程!
区块链的阴暗面
QQ 群文件紧急扩容;钟南山团队与阿里云联手推进新冠疫苗研发;PhpStorm 2019.3.3 发布
愿得一心人:硅谷亿万富豪们的婚姻怎样?有人白首相守七十年
你点的每个“在看”,我都认真当成了AI
相关文章:
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——插入
操作系统是ubuntu 18.04.1 server amd64,gcc是 7.3.0。编译产出是64位测试程序。(转载请指明出于breaksoftware的csdn博客) 因为加入测量,就会导致误差。我已经尽量将环境影响降低,但是还是难免有误差。大家可以通过文…

SSIS中的记录集目标
这一篇,我们来看看另外一个特殊的目标组件:记录集目标。它与DataReader目标有些类似,也是在内存中的。但与DataReader目标不同的是,它可以被下游任务使用。 它的使用也比较简单,我们一般指定一个变量来接收它的结果&am…

Leetcode: Maximum Depth of Binary Tree
题目:算出二叉树的最大深度 解决方案:(1)BFS (2)DFS (1)BFS 一层一层往下搜索,一直找到最深的点,这里由于节点的val是没有用的,所以可以用来存储当前节点的深度ÿ…
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——删除
相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g)——插入》已给出。本文将分析从头部、中间和尾部对各个容器进行删除的性能。(转载请指明出于breaksoftware的csdn博客) 删除 头部删除 元素…
一文告诉你,如何使用Python构建一个“谷歌搜索”系统 | 内附代码
来源 | hackernoon编译 | 武明利责编 | Carol出品 | AI科技大本营(ID:rgznai100)在这篇文章中,我将向您展示如何使用Python构建自己的答案查找系统。基本上,这种自动化可以从图片中找到多项选择题的答案。有一件事我们要清楚&…

WatchStor观察:思科携EMC等合作伙伴 圈地数据中心市场
早在今年3月,思科在加利福尼亚州圣何塞市展会中展示了“统一计算系统”(Unified Computing System)之后,我们就明白,数据中心市场将会发生巨大改变,传统的以IBM、惠普、戴尔和Sun为主导的服务器电脑市场,将受到以思科为…
使用BabeLua3.x在cocos2d-x中编辑和调试Lua
BabeLua是一款基于VS2012/2013的Lua集成开发环境,具有Lua语法高亮,语法检查,自动补全,快速搜索,注入宿主程序内对Lua脚本进行调试,设置断点观察变量值,查看堆栈信息等功能。 如何安装 请参考《系…

ASA与PIX的区别
很多年来,Cisco PIX一直都是Cisco确定的防火墙。但是在2005年5月,Cisco推出了一个新的产品——适应性安全产品(ASA,Adaptive Security Appliance)。不过,PIX还依旧可用。我已听到很多人在多次询问这两个产品…
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g++)——遍历和查找
相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比(ubuntu g)——插入》已给出。本文将分析各个容器中遍历和查找的性能。(转载请指明出于breaksoftware的csdn博客) 遍历 从前往后 元素个数>15000 t…
买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划
作者 | 菜园子哇编辑 | 唐小引来源 | CSDN 博客马上上班了,回来的路上,上班地铁上都是非常急需口罩的。目前也非常难买到正品、发货快的口罩,许多药店都售完了。并且,淘宝上一些新店口罩库存写着非常多,但不发货&#…

GlusterFS下如何修复裂脑文件?(续一)
关于网上一些修复GlusterFS裂脑文件的说明1、Fixing a GlusterFS split-brainhttps://inuits.eu/blog/fixing-glusterfs-split-brain在该文章中,删除无效副本时提供的方法如下:srv02$ sudo find /export/brick1/sdb1/ -samefile /export/brick1/sdb1/tes…

MySQL数据库环境使用全过程
在使用MySQL之前,需要建立数据库的环境来创建数据表,首先我们需要安装该数据库环境,即MySQL。1、下载MySQLMySQL的官方网站是http://www.mysql.org/,如图2-9所示:图2-9 MySQL官方网站当前稳定版本为5.1,我…
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入
操作系统是Windows10 64bit,编译器是 Microsoft Virtual Studio Community 10。编译产出是64位测试程序。(转载请指明出于breaksoftware的csdn博客) 因为加入测量,就会导致误差。我已经尽量将环境影响降低,但是还是难免…
“夸夸机器人”App来了:变身百万粉丝大V,48万人给你的帖子点赞
来源 | mashable译者 | Kolen出品 | AI科技大本营(ID:rgznai100)我在Botnet上的第一条帖子获得了48万个赞。一款全新的社交媒体风格的应用为用户提供了生活在一个奇特网络虚拟世界的机会。在这个世界里,你将拥有数以百万计的粉丝,…

leetcode Reverse Linked List
Reverse a singly linked list 对于这种可以修改值的,把值逆序就可以了。。。。用vector存,然后逆序读。 都忘了指针怎么赋值初始化了。*p&head; 1 /**2 * Definition for singly-linked list.3 * struct ListNode {4 * int val;5 * Lis…
抗击新冠肺炎,如何进行实时动态时序图谱建模与分析?
作者 | 闭雨哲来源 | ThutmoseAI背景介绍新冠肺炎是一种具有最长达24天潜伏期的新型突发性传染疾病,这种特性给疫情防控带来了巨大的挑战,随着感染规模的不断扩增,简单的人为治理已不太奏效,使用“大数据”技术手段来辅助人为治理…
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——删除
相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入》已给出。本文将分析从头部、中间和尾部对各个容器进行删除的性能。(转载请指明出于breaksoftware的csdn博客) 删除 …

关于服务器启动慢的问题
今天去了家医院的机房,走进去一看,TMD的医院就是有钱,全是光纤和千兆网络环境,全全是思科的三层交换机和路由器,HP的服务器。我们需要安装点东西,登录一台服务器,我一看配置,呵呵&am…

python依赖包exe文件安装问题
2019独角兽企业重金招聘Python工程师标准>>> 在使用python的exe程序安装依赖包的时候,经常会出现类似于下面的错误: python version 2.7 required,which was not found in the registry 可以使用如下代码解决该问题: # # script to register …
C++拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——遍历和删除
相关环境和说明在《C拾趣——STL容器的插入、删除、遍历和查找操作性能对比(Windows VirtualStudio)——插入》已给出。本文将分析各个容器中遍历和查找的性能。(转载请指明出于breaksoftware的csdn博客) 遍历 从前往后 travers…
技术战“疫”,贾扬清、李飞飞要给程序员直播讲AI技术!
「时势造英雄,英雄亦造时势。」在这场波及全球且看不见硝烟的疫情下,无数英雄日夜奋战,无论是身处一线的医护工作者、政府职能部门、志愿者,还是坚守在家的人民群众,都在尽自己所能,在行动!与此…

关于端口映射的一个命令
今天安装一个远程会诊的系统,由于是在不同和的地方,需要在路由器上作下映射,由于是要远程连接对方的服务器,所以要在对方的路由器上设置下Interface fastethernet0/0 Ip address 192.168.1.1 255.255.255.0 Duplex auto Speed aut…

elasticsearch简介
Elasticsearch是 面向文档型数据库,这意味着它存储的是整个对象或者 文档,它不但会存储它们,还会为他们建立索引,这样你就可以搜索他们了。你可以在 Elasticsearch 中索引、搜索、排序和过滤这些文档。不需要成行成列的数据。所以…

C++拾取——使用stl标准库生成等差、等比数列的方法
代码是思想的表达。阅读代码是一个猜测、求证的过程。这个过程非常费脑,所以人们都不喜欢啰啰嗦嗦的表达方式。于是在相同认知水平下,简洁高效的表达是喜闻乐见的。本文将抛砖引玉,通过一些案例讲解如何去简化代码。(转载请指明出…

利用NetBIOS名称与其他计算机通信
当某台计算机与网络中的其他计算机通信时,它是如何依据对方的计算机名称来得知其IP地址呢?名称解析的方法有以下几种: 检查NetBIOS名称缓存(NetBIOS name cache)广播直接向WINS服务器查询何谓NetBIOS名称:如…
编程语言性能实测,Go比Python更胜一筹?
作者 | Pawel Dziubałka, Sebastian Karasiewicz译者 | 泓技出品 | AI科技大本营(ID:rgznai100)互联网上有非常多的精彩代码,它们成了构建各种基础设施的基础。你正在阅读的这个平台同样也在致力于创建出色的代码。尽管普通用户一般不会注意…

mysql备份策略的制定
需要考虑的因素: 1. 数据库是不是都是innoDB引擎表 -》决定备份方式,热备或冷备 2. 数据量大小 -》逻辑备(量小)或物理备,全量或增量 3. 数据库本地空间是否充足 -》备份到本地或远程 4. 需要多快恢复 -》备份频率 小时…

C++拾取——使用stl标准库实现排序算法及评测
今天看了一篇文章,讲各种语言的优势和劣势。其中一个观点:haskell非常适合写算法,因为使用者不用去关心具体的计算机实现,而只要关注于操作语义。这让它在专心研究算法的人中非常受欢迎。所以很多时候,语言的争论没有太…
几行代码构建全功能的对象检测模型,他是如何做到的?
作者 | Alan Bi 译者 | 武明利,责编 | Carol 出品 | AI科技大本营(ID:rgznai100) 如今,机器学习和计算机视觉已成为一种热潮。我们都看过关于自动驾驶汽车和面部识别的新闻,可能会想象建立自己的计算机视觉模型有多酷。…

SQL操作全集
SQL操作全集 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据…