首页 > 其他分享 >在 Amazon 搭建无代码可视化的数据分析和建模平台

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

时间:2023-08-31 22:11:32浏览次数:153  
标签:点击 Databrew 建模 Amazon 可视化 Glue 数据 故障率 Canvas

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

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

 

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

本文以汽车行业的故障分析为例,演示如何在亚马逊云科技上构建一套无代码数据分析平台,业务人员不需要有编程能力、 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=bokey

标签:点击,Databrew,建模,Amazon,可视化,Glue,数据,故障率,Canvas
From: https://www.cnblogs.com/AmazonwebService/p/17670579.html

相关文章

  • 有了Excel和PPT,为什么我们还需要数据可视化工具?
    在当今信息时代,数据扮演着越来越重要的角色,而数据的可视化呈现正是一种强大的工具,能够帮助我们更好地理解和利用这些数据。虽然Excel和PPT在处理数据方面有着不可否认的作用,但在处理大规模、复杂数据时,数据可视化工具的独特优势却愈发显现。第一,数据可视化工具能够将抽象的数据......
  • 监控汇聚平台EasyCVR助力税务可视化,税收规范化
    为了完善税务系统的全面推行行政执法公示制度、执法全过程记录制度和重大执法决定法制审核制度,国家税务总局要求全面推行执法全过程记录制度并推进信息化建设,以实现执法全过程的留痕和可回溯管理,以确保税务执法规范的有效性和高效性。为了提高稽查办案指挥调度水平和稽查办案的质效......
  • 数据可视化应该学什么?
    数据可视化应该学什么?这是一个在信息时代越来越重要的问题。随着数据不断增长和积累,从社交媒体到企业业务,从科学研究到医疗健康,我们都面临着海量的数据。然而,数据本身往往是冰冷、抽象的数字,对于大多数人而言,很难从中获得实质性的信息。这时,数据可视化就成为了解决方案。数据可视......
  • Web组态可视化软件之BY组态可视化平台介绍
    Web组态可视化软件之BY组态可视化平台介绍关于组态软件,首先要从组态的概念开始说起。 什么是组态组态(Configure)的概念来自于20世纪70年代中期出现的第一代集散控制系统(DistributedControlSystem),可以理解为“配置”、“设定”、“设置”等,是指通过人机开发界面,用类似“搭积木”......
  • 城市可视化安全风险综合监测预警体系保障城市安全格局
    城市可视化安全风险综合监测预警体系保障城市安全格局一、项目提要城市作为人类聚集生活的重要载体,是人类文明高度发达的象征,也是人类社会进步的表现。复杂的地下空间、超多高层建筑等城市建设在提高人类生活质量的同时,也给城市安全运行带来严峻挑战。而随着人类数字化时代的发展,5G......
  • 数字能源监控可视化管理平台在能源开发与利用中的应用
    数字能源监控可视化管理平台在能源开发与利用中的应用能源是现代化发展的基础和动力。尤其是在当今世界,能源供求与国际政治、经济格局进行着较为紧密的捆绑,能源的可持续开发和利用关系着每个国家的深远发展,因此如何利用数字化手段实现能源在开发和利用过程中的可视化、智能化监控,从......
  • 使用 Amazon Lambda 进行无服务器计算:云架构中的一场革命
    引言十年前,无服务器架构还像是痴人说梦。不再如此了!有了AmazonLambda,我们现在可以建构和运行应用程序而不需要考虑服务器。云供应商会无缝地处理所有服务器的供应、扩展和管理。我们只需要关注代码。这为云部署带来了前所未有的敏捷性、自动化和优化。但是,要发挥它的全部......
  • 为什么我们需要数据可视化?
    为什么我们需要数据可视化?这个问题在信息时代变得愈发重要。数据,如今已成为生活的一部分,我们每天都在产生大量的数据,从社交媒体到购物记录,从健康数据到工作表现,数据无处不在。然而,数据本身通常是冷冰冰的数字,对于大多数人而言,理解和分析这些数字可能并不容易。这就是数据可视化......
  • 通过matlab模拟光线在三维空间中的传播路径并根据反射点进行三维空间建模
    1.算法理论概述      光线在三维空间中的传播路径涉及到光学、几何学等多个领域,是计算机图形学和计算机视觉等领域中的重要问题之一。本文将从专业角度详细介绍模拟光线在三维空间中的传播路径,包括多次反射情况,包括实现步骤和数学公式的详细介绍。 一、概述     ......
  • Jmeter+grafana+influxdb 搭建可视化性能测试监控平台
    用途:监控Jmeter发送的数据成功量,总量,吞吐量等效果图: 1、grafana的安装#获取grafana>wgethttps://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.3-1.x86_64.rpm#安装grafana>rpminstallgrafana-enterprise-9.4.3-1.x86_64.rpm--force--nodeps>sy......