共计 5052 个字符,预计需要花费 13 分钟才能阅读完成。
古代企业经常会有利用数据分析和机器学习帮忙解决业务痛点的需要。如制造业中,利用设备采集上来的数据做预测性保护,品质管制;在零售业中,利用客户端端采集的数据做渠道转化率剖析,个性化举荐等。
亚马逊云科技开发者社区为开发者们提供寰球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、流动与比赛等。帮忙中国开发者对接世界最前沿技术,观点,和我的项目,并将中国优良开发者或技术举荐给寰球云社区。如果你还没有关注 / 珍藏,看到这里请肯定不要匆匆划过,点这里让它成为你的技术宝库! |
通常业务部门须要提需要给技术团队,技术团队将业务需要转换为技术需要,调动数据工程师,数据科学家,机器学习工程师等,做数据处理、剖析以及建模,整个流程较长,须要比拟高的跨团队沟通老本,且对企业人才储备技能有要求。客户业务部门广泛冀望升高应用机器学习解决业务问题的门槛和学习老本,使得业务剖析人员能够较少借助数据科学家和数据工程师,疾速解决特定畛域的业务数据洞察。
本文以汽车行业的故障剖析为例,演示如何在亚马逊云科技上构建一套无代码数据分析平台,业务人员不须要有编程能力、SQL 或任何机器学习的先验常识,即可自行依据业务场景和具体需要,自助式的上传导入数据做出剖析,从而帮忙业务人员以最短的工夫,最不便的应用数据。
场景和痛点
车辆的异样故障率通常受多个因素影响,比方生产批次问题,应用年限,经销商维保等。
在过来,质保部门被动的承受零散客户的问题上报和培修申请,当某车型或某批次的问题积攒到肯定水平乃至暴发后,能力定位这部分车辆的问题对立进行召回。忽然的故障暴发使得相干部门没方法提前估算出培修经费,没法提前准备备件,没法提前做管控措施,也影响车主的体验。
因而,对车辆质保数据做数据分析,对故障产生状况做基于时序的剖析或者聚类分析,并依据现有数据对故障趋势进行预测,能够帮忙业务部门实现品质预警,品质改善的指标,有助于企业和部门提前做估算,提前采取相应措施升高整体培修费用。
技术指标
基于实销车辆数据,以及车辆培修数据 (两个 Schema 如下表所示),基于车型,绘制出能够形容故障产生状况的曲线,对曲线进行分类,演绎出类似的故障曲线,筛选出异样的故障曲线,以达到对异样故障进行预测,提前预警的目标。
- 车型故障曲线:如依据工夫、行驶里程数、车龄等维度的车辆故障数增长曲线。本文以车龄这个维度为示例,其余条件相似,只是聚合条件发生变化。
- 演绎类似形态,筛选异样故障曲线
- 依据现有数据预测趋势
Sampling Schema
- Repair data
- Sales data
架构
抉择 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 模型。
前提条件
- Glue Databrew 在大多数区域曾经反对(包含北京和宁夏区),可在控制台切换至指标区域。SageMaker Canvas 目前在局部区域推出,具体 region 请参考此 FAQ 文档。本文应用 Ohio (us-east-2) 为例。
- 将样本数据先存储在指标区域的某个 S3 桶中。如您不理解如何上传,请参考此 S3 文档
计划步骤
- Glue Databrew 进行数据转换
该章节实现如下性能
- 有效数据清理
- 转换车辆培修数据,以适配销售数据
- 车辆培修数据和销售数据的合并
- 依照车型和车龄聚合数据
- 计算故障率
具体步骤
1. 关上 Databrew 控制台,点击左侧栏“数据集 (Datasets)”, 点击“连贯新数据集(Connect new dataset)”以创立数据源
2. 在为数据集命名 (如“repair-data”) 并抉择 S3 的存储地位,数据格式 csv,采纳默认分隔符“,”,点击创立数据集。同理,创立命为 sales-data 的数据集,csv 格局,默认分隔符“,”创立数据集。
3. 选中刚创立好的数据集 repair-data,抉择“应用此数据集 创立我的项目 (create project with dataset)”,输出项目名称和配方名称,抉择现有的或者新创建一个 IAM Role,需确保此 IAM Role 有权连贯到所选的数据。点击 创立我的项目。期待 DataBrew 界面的加载。
4. 第一步,有效数据的清理。
(1)抉择 CarAgeDay 这一列(代表按天计算的车龄),点击 filter,并抉择仅保留大于 0 的数据(或者依据需要,自定义此值)。如图所属,编辑完 Greater than 0 的条件后,点击 add to recipe,此时会在右侧生成浏览,请点击 APPLY 以失效
(2)将 mileage 进行 filter,只保留大于 0 的无效数据。同样点击 add to recipe 而后点击 apply 以失效。
5. 第二步,将车辆培修数据的销售年份和销售季度合并为一个字段适配销售数据:点击右侧 recipe,add step,并抉择 merge 操作(Concatenate Columns),将 RegiDate_Year 和 RegiDate_Quarter 合并, 以“Q”作为连接符,target column name“year_quarter”
6. 第三步,合并车辆培修数据和销售数据: 点击 JOIN 操作,抉择 sales-data 作为要 join 的数据集,抉择 LEFT JOIN,并将 year_quarter 以及 Sales_Quarter 作为 join key,浏览后点击 finish
7. 第四步,依照车型和车龄聚合数据: 如下图所示,依照 Series_new 和 CarAgeMonth 做聚合 Group by,生成故障数和销售数。
8. 第五步,计算故障率
(1)为了做除法,先将 defect number 改为 INT 数据类型
(2)为了计算故障率,咱们抉择 DIVIDE 办法,第一列抉择 defect_number, 第二列抉择 total_sales_number,指标列命名为 defect_rate
9. 第五步,计算故障率:对 defect_rate 做过滤,去除小于 0 的那些有效值
10. 最终数据和配方如图所示, 基于每种车型做聚合,咱们能够追踪出针对不同车龄的故障率。当然您也能够依据需要自行对数据做更多解决和转换。
11. 点击右上方 Create job,以将此配方用于整个数据集。定义 job 名称,文件输入地址(S3 location),抉择 IAM role(此 Role 须要有 S3 对应地位的读写权限)后,点击最下方 create and run job,大略会在 2min 实现数据的解决。
12. 当 final 后,能够抉择将 recipe publish 以保留配方。此配方在下一次能够间接用于利用于其余样本集。
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。
2. 因 Athena 应用的是 Glue 的数据目录,因而点击来到 Athena,能够看到方才咱们爬网过的 defect-rate 的 table,本文也用 Glue 也爬过其余的两张原始表,显示如下。
3. 控制台到 QuickSight,增加数据集(dataset), 抉择 Athena 作为数据源。依据提醒,抉择指标表,将数据加载到 QuickSight 当中。
4. 导入胜利后,增加 New analysis , 在这里能够利用数据的不同维度,以及不同的图表模式,进行自定义的数据摸索和展现。本文以不同车型的 defect rate,销量为例,能够看出,SERIES4 为比拟滞销的一款车型,此车故障率较高,且故障率根本高频产生在车龄三年左右的时候,咱们能够依据此法则提前做客户关心和车检。因而文重点不在于 Quicksight 的应用,因而不再开展,如对 QuickSight 应用不相熟,能够点击此教程 做参考。
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 文件。
3. 进行必要的列移除(如第一步所述)
4. 将数据上传至 Sagemaker Canvas dataset
5.Create model,选中此数据集,选中 target 为 defect_rate。如心愿疾速生成模型,抉择 quick build 以构建模型(2-15min);如须要更高的精准度,抉择 standard build(2- 4 小时)。本文抉择 quick build。
6. 期待模型生成后,就能够依据 carage 做故障率的预测。能够上传一份 csv 文件,做 batch prediction;也能够输出单个值进行 single prediction。本文以前者为例,上传心愿预测的 series 和 carage(120 个月),最终失去后果如下
8. 如果抉择的是 Standard build,在模型创立后,SageMaker Canvas 还能够一键将模型共享到 Amazon SageMaker Studio,使业务分析师能够邀请数据科学家对模型和共享数据集进一步验证和进一步优化 ML 模型,达到生产部署的程度。
论断
本文提供了一个基于图形化的数据处理和 AutoML 的计划,利用 Glue Databrew 和 Sagemaker Canvas 等服务,构建一个无代码数据分析和机器学习平台,一方面,帮忙客户业务分析师升高数据处理和 ML 专业知识的学习曲线,升高跨部门沟通老本,放弃 AutoML 后果的可解释性,不便与数据科学家在模型和数据集层面共享并继续优化。另一方面,此平台基于无服务器,无需客户治理服务器,按需付费。
本篇作者
李天歌 Amazon 解决方案架构师,负责基于 Amazon 的云计算计划架构征询和设计,善于开发,serverless 等畛域,具备丰盛的解决客户理论问题的教训。
梁睿 梁睿,Amazon 解决方案架构师,次要负责企业级客户的上云工作,服务客户涵盖从汽车,传统生产制作,金融,酒店,航空,游览等,善于 DevOps 畛域。11 年 IT 业余服务教训,历任程序开发,软件架构师、解决方案架构师。
文章起源:https://dev.amazoncloud.cn/column/article/630b3a84269604139cb…