在 Amazon 搭建无代码可视化的数据分析和建模平台

现代企业常常会有利用数据分析和机器学习帮助解决业务痛点的需求。如制造业中,利用设备采集上来的数据做预测性维护,质量控制;在零售业中,利用客户端端采集的数据做渠道转化率分析,个性化推荐等。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

通常业务部门需要提需求给技术团队,技术团队将业务需求转换为技术需求,调动数据工程师,数据科学家,机器学习工程师等,做数据处理、分析以及建模,整个流程较长,需要比较高的跨团队沟通成本,且对企业人才储备技能有要求。 客户业务部门普遍期望降低使用机器学习解决业务问题的门槛和学习成本,使得业务分析人员可以较少借助数据科学家和数据工程师,快速解决特定领域的业务数据洞察。

本文以汽车行业的故障分析为例,演示如何在亚马逊云科技上构建一套无代码数据分析平台,业务人员不需要有编程能力、 SQL 或任何机器学习的先验知识,即可自行根据业务场景和具体需求,自助式的上传导入数据做出分析,从而帮助业务人员以最短的时间,最方便的使用数据。

场景和痛点

车辆的异常故障率通常受多个因素影响,比如生产批次问题,使用年限,经销商维保等。

在过去,质保部门被动的接受零散客户的问题上报和维修请求,当某车型或某批次的问题积攒到一定程度乃至爆发后,才能定位这部分车辆的问题统一进行召回。突然的故障爆发使得相关部门没办法提前预算出维修经费,没法提前准备备件,没法提前做管控措施,也影响车主的体验。

因此,对车辆质保数据做数据分析,对故障发生情况做基于时序的分析或者聚类分析,并根据现有数据对故障趋势进行预测,可以帮助业务部门实现质量预警,质量改善的目标,有助于企业和部门提前做预算,提前采取相应措施降低整体维修费用。

技术目标

基于实销车辆数据,以及车辆维修数据 ( 两个 Schema 如下表所示),基于车型,绘制出可以描述故障发生情况的曲线, 对曲线进行分类,归纳出相似的故障曲线,筛选出异常的故障曲线,以达到对异常故障进行预测,提前预警的目的。

  • 车型故障曲线 :如根据时间、行驶里程数、车龄等维度的车辆故障数增长曲线。 本文以车龄这个维度为示例,其他条件类似,只是聚合条件发生变化。
  • 归纳相似形状,筛选异常故障曲线
  • 根据现有数据预测趋势
Sampling Schema
  1. Repair data

image.png

  1. Sales data

image.png

架构

  • 选择 Glue Databrew 作为主要数据处理的工具。 Amazon Glue Databrew 提供一个可视化的工具,可以帮助数据分析师和数据科学家对数据做数据清洗和转换,从而方便后续将数据应用到分析和机器学习的场景。Glue Databrew 提供多达 250 种预构建转换中的操作,都可通过 UI 自动执行,不需要任何代码。比如,筛选异常数据、将数据转换为标准格式以及纠正无效值等等。
  • 利用 Glue 做数据格式(Schema)的爬取,通过 Athena 作为 connector,最终用 QuickSight 作为 BI 展示工具,做 dashboard 展示
  • 利用 Databrew 处理后的数据作为模型输入,利用 Sagemaker Canvas 生成预测模型。Amazon SageMaker Canvas 通过为业务分析师提供可视化、点击式的界面来扩展对机器学习 (ML) 的访问,利用AutoML 技术,根据您的独特用例自动创建 ML 模型,而无需任何机器学习经验或编写任何代码。 同时SageMaker Canvas 与 Amazon SageMaker Studio 集成,使业务分析师可以更轻松地与数据科学家共享模型和数据集,以便他们验证和进一步优化 ML 模型。

image.png

前提条件

  1. Glue Databrew 在大多数区域已经支持(包括北京和宁夏区),可在控制台切换至目标区域。 SageMaker Canvas 目前在部分区域推出,具体 region 请参考此 FAQ 文档。本文使用 Ohio (us-east-2) 为例。
  2. 将样本数据先存储在目标区域的某个 S3 桶中。如您不了解如何上传,请参考此 S3 文档

方案步骤

1. Glue Databrew 进行数据转换

该章节完成如下功能

  • 无效数据清理
  • 转换车辆维修数据,以适配销售数据
  • 车辆维修数据和销售数据的合并
  • 按照车型和车龄聚合数据
  • 计算故障率

详细步骤

1.打开 Databrew 控制台,点击左侧栏 “数据集 (Datasets)”, 点击 “连接新数据集 (Connect new dataset)” 以创建数据源

2.在为数据集命名 (如 “repair-data”) 并选择 S3 的存储位置,数据格式 csv,采用默认分隔符 “,” ,点击创建数据集。同理,创建命为 sales-data 的数据集,csv 格式,默认分隔符 “,” 创建数据集。

image.png

3.选中刚创建好的数据集 repair-data,选择 “使用此数据集创建项目 (create project with dataset)” , 输入项目名称和配方名称,选择现有的或者新创建一个 IAM Role,需确保此 IAM Role 有权连接到所选的数据。点击 创建项目。 等待 DataBrew 界面的加载。

4.第一步, 无效数据的清理。

(1)选择 CarAgeDay 这一列(代表按天计算的车龄),点击 filter,并选择仅保留大于0的数据(或者根据需求,自定义此值)。如图所属,编辑完 Greater than 0 的条件后,点击 add to recipe,此时会在右侧生成浏览,请点击 APPLY 以生效

image.png

(2)将 mileage 进行 filter,只保留大于0的有效数据。同样点击 add to recipe 然后点击 apply 以生效。

image.png

5.第二步,将车辆维修数据的销售年份和销售季度合并为一个字段适配销售数据:点击右侧 recipe,add step,并选择 merge 操作 (Concatenate Columns),将 RegiDate_Year 和 RegiDate_Quarter 合并, 以 “ Q ” 作为连接符,target column name “year_quarter”

image.png

image.png

6.第三步,合并车辆维修数据和销售数据: 点击 JOIN 操作,选择 sales-data 作为要 join 的数据集,选择 LEFT JOIN, 并将 year_quarter 以及 Sales_Quarter 作为 join key,浏览后点击finish

image.png

image.png

7.第四步,按照车型和车龄聚合数据: 如下图所示,按照 Series_new 和 CarAgeMonth 做聚合 Group by,生成故障数和销售数。

image.png

8.第五步,计算故障率

(1)为了做除法,先将 defect number 改为 INT 数据类型

image.png

image.png

(2)为了计算故障率,我们选择DIVIDE方法,第一列选择 defect_number, 第二列选择 total_sales_number,目标列命名为 defect_rate

image.png

9.第五步,计算故障率:对 defect_rate 做过滤,去除小于0的那些无效值

image.png

10.最终数据和配方如图所示, 基于每种车型做聚合,我们可以追踪出针对不同车龄的故障率。当然您也可以根据需求自行对数据做更多处理和转换。

image.png

11.点击右上方 Create job,以将此配方用于整个数据集。 定义job名称,文件输出地址(S3 location),选择 IAM role (此 Role 需要有 S3 对应位置的读写权限)后,点击最下方 create and run job, 大概会在 2min 完成数据的处理。

image.png

12.当 final 后,可以选择将 recipe publish 以保存配方。此配方在下一次可以直接用于应用于其他样本集。

image.png

2. 利用 QuickSight 进行数据展示

该章节完成如下功能

  • Glue 爬取 Databrew 输出的 Schema,作为数据目录
  • 利用 Athena 作为 Connector,连接至 BI 工具 QuickSight
  • 在 QuickSight 中自定义 Widget 和 Dashboard

详细步骤

1.到 Glue Crawler (爬网程序) 中,点击添加爬网程序 (add crawler ),定义 S3 数据所在位置,也就是刚才 Databrew 的输出位置 。定义完成后,记得点击 run crawler 以启动此运行任务。 当job 完成后,请到左侧 Table (表)这一栏中检查 data schema 。

image.png

image.png

2.因 Athena 使用的是 Glue 的数据目录,因此点击来到 Athena,可以看到刚才我们爬网过的 defect-rate 的 table,本文也用 Glue 也爬过其他的两张原始表,显示如下。

image.png

3.控制台到 QuickSight ,添加数据集 (dataset), 选择 Athena 作为数据源。根据提示,选择目标表,将数据加载到 QuickSight 当中。

image.png

image.png

4.导入成功后,添加 New analysis , 在这里可以利用数据的不同维度,以及不同的图表形式,进行自定义的数据探索和展示。本文以不同车型的 defect rate,销量为例,可以看出,SERIES4 为比较畅销的一款车型,此车故障率较高,且故障率基本高频发生在车龄三年左右的时候,我们可以根据此规律提前做客户关怀和车检。 因此文重点不在于 Quicksight 的使用,因此不再展开,如对 QuickSight 使用不熟悉,可以点击此教程 做参考。

image.png

image.png

12.在将所有的数据都整合完毕后,点击右上方的 share ,可以将此发布为一个 dashboard

3. 利用 Sagemaker Canvas 作为机器学习的工具

该章节完成如下功能

  • 对数据进行额外处理
  • 合并多份数据
  • 利用 Sagemaker Canvas 构建模型
  • 生成预测

详细步骤

1.我们可以利用已有的数据做车辆销售数量预测,维修数预测等。本文以故障率作为 预测的目标为例。首先在 Databrew 将其他多余的 column 取出掉,只保留 series,caragemonth,defect_rate 三个列,目标是根据 series 和 carage,可以推测出不同系列车型的故障率。(也可以在下一步 csv 下载完毕后,手动移除掉这两列)

2.因为 Sagemaker Canvas 目前只支持一个单文件作为模型的 dataset,因此我们首先用 Athena 将多个 Databrew 输出的文件 merge 成单个 csv。 我们打开 Athena 执行 select * 之后像截图右下角所示将结果进行下载,这样我们得到一个单个 csv 文件。

image.png

3.进行必要的列移除(如第一步所述)

4.将数据上传至 Sagemaker Canvas dataset

5.Create model,选中此数据集,选中 target 为 defect_rate。 如希望快速生成模型,选择 quick build 以构建模型(2-15min); 如需要更高的精准度,选择 standard build(2-4小时)。本文选择 quick build。

image.png

6.等待模型生成后,就可以根据 carage 做故障率的预测。可以上传一份 csv 文件,做 batch prediction;也可以输入单个值进行 single prediction。 本文以前者为例,上传希望预测的 series 和 carage(120个月),最终得到结果如下

image.png

8.如果选择的是 Standard build,在模型创建后,SageMaker Canvas 还可以一键将模型共享到 Amazon SageMaker Studio ,使业务分析师可以邀请数据科学家对模型和共享数据集进一步验证和进一步优化 ML 模型,达到生产部署的水平。

image.png

结论

本文提供了一个基于图形化的数据处理和 AutoML 的方案,利用 Glue Databrew 和 Sagemaker Canvas 等服务,构建一个无代码数据分析和机器学习平台,一方面,帮助客户业务分析师降低数据处理和ML 专业知识的学习曲线,降低跨部门沟通成本,保持 AutoML 结果的可解释性,方便与数据科学家在模型和数据集层面共享并持续优化。 另一方面,此平台基于无服务器,无需客户管理服务器,按需付费。

本篇作者

image.png

李天歌 Amazon 解决方案架构师,负责基于 Amazon 的云计算方案架构咨询和设计,擅长开发,serverless 等领域,具有丰富的解决客户实际问题的经验。

image.png

梁睿 梁睿,Amazon 解决方案架构师,主要负责企业级客户的上云工作,服务客户涵盖从汽车,传统生产制造,金融,酒店,航空,旅游等,擅长 DevOps 领域。11年 IT 专业服务经验,历任程序开发,软件架构师、解决方案架构师。

文章来源:https://dev.amazoncloud.cn/column/article/630b3a84269604139cb5e9ea?sc_medium=regulartraffic&sc_campaign=crossplatform&sc_channel=CSDN 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/119597.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

低代码赋能| 绿色智慧矿山解决方案

在世界能源日趋紧张的背景下,能源产业的数字化升级是大势所趋。矿山行业作为国家能源安全的“压舱石”,也必须进行产业升级。一直以来,国家都在大力推动智慧矿山建设。通过大数据、GIS、物联网、云计算、人工智能等新兴技术,实现矿…

R语言图形的组合( par(),layout(),par(fig()) )

引入d.class进行画图 > d.class<-read.csv("D://class.csv",header T) > attach(d.class) > opar<-par(no.readonly TRUE)非常简单的数据&#xff0c;需要可自取 链接&#xff1a;https://pan.baidu.com/s/1zNx5z9JsaaRqFueRgGY3mQ 提取码&#x…

微信小程序新版隐私协议弹窗实现最新版

1. 微信小程序又双叒叕更新了 2023.08.22更新&#xff1a; 以下指南中涉及的 getPrivacySetting、onNeedPrivacyAuthorization、requirePrivacyAuthorize 等接口目前可以正常接入调试。调试说明&#xff1a; 在 2023年9月15号之前&#xff0c;在 app.json 中配置 __usePriva…

Vite打包性能优化及填坑

最近在使用 Vite4.0 构建一个中型前端项目的过程中&#xff0c;遇到了一些坑&#xff0c;也做了一些项目在构建生产环境时的优化&#xff0c;在这里做一个记录&#xff0c;以便后期查阅。(完整配置在后面) 上面是dist文件夹的截图&#xff0c;里面的内容已经有30mb了&#xff…

Revit SDK:SpatialFieldGradient 在面上显示渐变颜色(AVF)分析显示样式

前言 这个例子使用Revit显示样式功能将面显示成不同的颜色。分析显示样式参考官方文档。 内容 效果&#xff1a; 核心逻辑&#xff1a; 得到一个 SpatialFieldManager拾取一系列的面&#xff1a;uiDoc.Selection.PickObjects(ObjectType.Face)计算面上的 UV 值&#xff0c;…

COSCon'23 开源市集:共赴一场草坪上的开源派对

一年一度的开源盛会&#xff0c;第八届中国开源年会&#xff08;COSCon23 &#xff09;&#xff0c;将于10月28~29日&#xff0c;在四川成都市高新区菁蓉汇召开&#xff01;本次大会的主题是&#xff1a;“开源&#xff1a;川流不息、山海相映”&#xff01; 我们预期会有超过1…

更健康舒适更科技的照明体验!SUKER书客护眼台灯 L1上手体验

低价又好用的护眼台灯是多数人的需求&#xff0c;很多人只追求功能性护眼台灯&#xff0c;显色高、无频闪、无蓝光等基础需求。但是在较低价格中很难面面俱到&#xff0c;然而刚发布的SUKER书客L1护眼台灯却是一款不可多得的性价比护眼台灯&#xff0c;拥有高品质光源&#xff…

第63步 深度学习图像识别:多分类建模误判病例分析(Tensorflow)

基于WIN10的64位系统演示 一、写在前面 上两期我们基于TensorFlow和Pytorch环境做了图像识别的多分类任务建模。这一期我们做误判病例分析&#xff0c;分两节介绍&#xff0c;分别基于TensorFlow和Pytorch环境的建模和分析。 本期以健康组、肺结核组、COVID-19组、细菌性&am…

mp代码生成插件

mp代码生成插件 1.下载下面的插件 2.连接测试 3.生成代码的配置 4.生成代码 红色的是刚刚生成的。 我觉得不如官方的那个好用&#xff0c;唯一的好处就是勾选的选项能够看的懂得。

视频云存储/安防监控/AI视频智能分析网关V3:工服检测功能详解

在一些工地、后厨、化工、电力等特定的场景中&#xff0c;工服的穿戴是必不可少的。这不仅是安全制度的要求&#xff0c;更能降低工作风险、提高工作效率。TSINGSEE青犀AI 边缘计算网关硬件 —— 智能分析网关可以通过实时监测和识别工人的工装穿戴情况&#xff0c;确保他们符合…

什么是接口测试,如何做接口测试?

比起点点点的功能测试&#xff0c;“接口测试”显得专业又高大上&#xff0c;也因此让有些初级测试人员“望而生畏”。别担心&#xff0c;其实接口测试也是功能测试的一种&#xff0c;它是针对接口进行的功能测试。 写在前面&#xff1a;本文参考了茹炳晟老师的《测试工程师 全…

软件架构设计(三) B/S架构风格-层次架构(一)

层次架构风格从之前的两层C/S到三层C/S,然后演化为三层B/S架构,三层B/S架构之后仍然在往后面演化,我们来看一下层次架构演化过程中都有了哪些演化的架构风格呢? 而我们先简单了解一下之前的层次架构风格中分层的各个层次的作用。 表现层:由于用户进行交互,比如MVC,MVP,…

医院小程序如何在线搭建?实战解析

在当今数字化时代&#xff0c;移动应用程序成为我们生活中必不可少的一部分。特别是在医疗领域&#xff0c;移动应用程序的需求更为迫切。为了满足这一需求&#xff0c;开发一个医疗小程序成为了许多医疗机构的优先选择。 在本文中&#xff0c;我们将分享一个实战攻略&#xff…

大数据可视化大屏实战项目(3)图书销售展示全国地图可视化---HTML+CSS+JS【源码在文末】(可用于比赛项目或者作业参考中)

大数据可视化大屏实战项目&#xff08;3&#xff09;图书销售展示全国地图可视化---HTMLCSSJS【源码在文末】&#xff08;可用于比赛项目或者作业参考中&#x1f415;&#x1f415;&#x1f415;&#xff09; 一&#xff0c;项目概览 ☞☞☞☞☞☞项目演示链接&#xff1a;http…

实力认证!OceanBase获“鼎信杯”优秀技术支撑奖

6 月 30 日&#xff0c;2023 “鼎信杯”信息技术发展论坛在京隆重举办第二届“鼎信杯”大赛颁奖典礼。OceanBase 凭借完全自主研发的原生分布式数据库&#xff0c;以及丰富的核心系统国产数据库升级案例&#xff0c;斩获“优秀技术支撑奖”。 论坛上&#xff0c;国内首个基于在…

打车系统网约车系统开发支持APP公众号H5小程序版本源码

一、操作流程 二、业务模式 三、用户端 用户注册登录&#xff1a;未注册的手机号将自动创建账号 通过好友的邀请链接进行注册&#xff0c;将会绑定上下级关系 也可以注册的时候输入好友的邀请码&#xff0c;也可以绑定关系 用户充值&#xff1a; 用户下单支付时&#xff0c;可以…

【大数据】数据湖:下一代大数据的发展趋势

数据湖&#xff1a;下一代大数据的发展趋势 1.数据湖技术产生的背景1.1 离线大数据平台&#xff08;第一代&#xff09;1.2 Lambda 架构1.3 Lambda 架构的痛点1.4 Kappa 架构1.5 Kappa 架构的痛点1.6 大数据架构痛点总结1.7 实时数仓建设需求 2.数据湖助力于解决数据仓库痛点问…

《Flink学习笔记》——第十一章 Flink Table API和 Flink SQL

Table API和SQL是最上层的API&#xff0c;在Flink中这两种API被集成在一起&#xff0c;SQL执行的对象也是Flink中的表&#xff08;Table&#xff09;&#xff0c;所以我们一般会认为它们是一体的。Flink是批流统一的处理框架&#xff0c;无论是批处理&#xff08;DataSet API&a…

基于RabbitMQ的模拟消息队列之三——硬盘数据管理

文章目录 一、数据库管理1.设计数据库2.添加sqlite依赖3.配置application.properties文件4.创建接口MetaMapper5.创建MetaMapper.xml文件6.数据库操作7.封装数据库操作 二、文件管理1.消息持久化2.消息文件格式3.序列化/反序列化4.创建文件管理类MessageFileManager5.垃圾回收 …

钡铼R40边缘计算网关与华为云合作,促进物联网传感器数据共享与应用

场景说明 微型气象是不可预测的&#xff0c;基本上不能通过人工手段来分析其变化&#xff0c;因此必须运用新技术&#xff0c;对气象进行实时监测&#xff0c;以便采取相应的措施来避免或解决事故的发生。而常规气象环境数据采集容易造成数据损失、人力成本高、数据安全性差、…