DAP数据集成与算法模型如何结合使用

2023-12-14 21:15

本文主要是介绍DAP数据集成与算法模型如何结合使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

企业信息化建设会越来越完善,越来越体系化,当今数据时代背景下更加强调、重视数据的价值,以数据说话,通过数据为企业提升渠道转化率、改善企业产品、实现精准运营,为企业打造自助模式的数据分析成果,以数据驱动决策。

在实际项目中,要使用DAP数据分析平台将企业业务数据进行数据的清洗和汇聚,同时基于DAP平台的展现配置,可以根据业务主题构建相应的展现大屏,从而实现数据的可视化展现,为企业领导层的数据把控和运营决策分析提供支持,本篇文档主要介绍数据采集部分是如何进行使用。

1整体介绍

DAP数据分析平台就是采集各个业务系统的数据,进行数据筛选(表和字段、数据)、质量校验等步骤建立数仓,保证数据标准性、完整性、准确性,从而实现企业业务数据的统一,通过数据可视化展现、数据服务来展现DAP数据分析平台的价值。

1.1产品方案

首先介绍一下数通的产品体系:

数通的所有产品都是通过K8S云平台进行部署搭建产品环境,通过不同的产品组合方案来解决企业面临的不同信息化困境,帮助企业完善信息化发展。

上图所示通过DAP数据分析平台+MDM基础数据平台+ESB企业服务总线组成了数据中台方案,本次介绍的DAP数据分析平台就是此方案的核心,基础数据进行主数据治理,DAP数据分析平台进行业务数据治理,通过ESB进行数据的集成,帮助整合企业数据,统一管理,提升企业的数据价值。

1.2功能架构

数据分析平台全生命周期是通过采集各个业务系统数据构建数仓,从而进行有效分析的过程,能够真实、准确、有效地将企事业内部及行业外部相关数据进行可视化展现,帮助企事业提升行业洞察力,加强决策力,从而提升整体竞争力。

数据分析平台功能有:

1.数据来源(应用系统定义、数据源头配置、ODS数据定义)。

2.数仓模型(业务主题、指标管理、维度配置、事实配置、模型配置)。

3.数据调度(规则校验、调度资源、调度任务、日志管理)。

4.分析模型(数据集配置、立方体配置、业务类报表、多维度分析)。

5.算法模型(算法原型、算法开发、算法调用、算法日志)。

6.展现配置(导航管理、组件管理、展现主题、装饰管理)。

7.数据服务(接收服务、查询服务、算法数据、统计服务、指标服务、业务服务)。

8.统计分析(数据地图、质量分析、影响分析、血缘分析)。

9.系统管理(资源配置、组织机构、角色管理、人员管理、功能管理、系统日志)。

1.3算法说明

DAP的算法模型需要结合数据集来进行使用,数据通过数据治理的三步流程之后(数据从业务系统采集抽取到ODS,ODS清洗转换到数据仓库,数据仓库的数据进行加工汇总)构建的数据仓库,从而通过配置构建数据集,通过数据集的历史数据结合算法原型构建算法开发,将数据训练后生成模型对象,结合算法调用对未来数据进行预测,算法在使用时,还要符合业务逻辑,所以接下来对数据集成如何结合算法模型使用进行说明。

2数据说明

本次数据说明以销售数据进行说明,通过各项指标来对于销售额,利润额等数据来进行预测。

2.1 背景说明

本次预测的数据背景为对咖啡门店的销售额进行预测,通过营销费用的增多与减少,对应的就是店内的折扣力度,也就会影响店内订单数、客单价等指标,从而影响销售额的高低,而在使用材料中,使用品质好的材料,成本就会增高,利润降低,反之则是成本降低,利润增高。

使用历史数据中的订单数、客单价、假期天数等特征值去训练模型,将训练好的模型结合当前数据或未来数据中的假期天数等特征指标去预测销售额以及对于门店级别进行分类。

2.2 模型设计

1.构建门店表作为维度表,表字段中添加门店名称、门店等级,门店等级字段作为分类模型的预测字段。

2.构建销售表,表字段中添加当月假期天数、线上订单、线下订单、营销费用、材料费用、人工费用字段作为特征字段,添加时间(年月)作为维度信息,添加实际销售额字段作为度量字段,添加预测销售额字段作为预测值字段。

2.3 数据构建

1.采集同步:

(1)首先在ODS定义中使用参考表创建的方式将在业务系统中添加的门店表以及门店销售表采集抽取到ODS中间库,在编辑页面定义唯一字段与比较字段,确保数据同步时的唯一性以及准确性。

(2)编辑好ODS表之后,对于ODS表进行创建,结合ESB创建消息流程,进行数据同步。

2.清洗转换

清洗转换的作用是将ODS中的数据清洗转换到数据仓库,也就是对字段进行选取以及配置规则校验,接下来对具体实现进行说明。

(1)维度表:

维表是属于枚举类的信息,所以使用门店表作为维表,在创建维表时,来源表选择ODS中的门店表。

在字段信息中,除了导入原有字段外,需要手动新增预测等级字段,在进行分类时,对于预测等级字段进行回写。

同时在字段信息中,要对于字段配置唯一字段以及规则校验,目的同样是确保数据的唯一性以及准确性。

编辑好维表之后,对于维表进行创建,结合ESB创建消息流程,进行数据同步,同样在ESB设计器中的MF服务中创建消息流程,选择HTTP请求中的ODS转换到EDW。

(2)基础事实表:

基础事实表创建的为门店销售表,在来源表中选取ODS的门店销售表进行创建。

在字段信息中,导入需要的字段,并对字段配置唯一字段以及规则校验,操作与维表一致。字段编辑好之后,进行表的创建,同时结合ESB生成调度流程。

3.加工汇总:

(1)汇总事实表的创建分为两种方式:横向汇总与纵向汇总,横向汇总是对于字段配置表达式的方式进行字段间的汇总,纵向汇总是对于字段配置聚合类别的方式进行汇总,本次是基于上述所创建的门店销售基础事实表进行创建,通过销售额/(线上订单+线下订单)得出客单价,所以在创建时,来源表选取门店基础事实表,创建方式选择横向汇总。

(2)在字段信息中先进行数据导入,接下来手动新增客单价字段预计预测销售额字段。

(3)在汇总配置中新增表达式对于客单价字段进行汇总加工。

以上配置好之后,对于汇总事实表进行创建,结合ESB创建消息流程,进行数据同步。

3模型构建

数据仓库构建好之后,要对于数仓模型以及分析模型进行构建,接下来对于操作步骤进行说明。

3.1数仓模型

1.数据仓库中的数据构建好之后可以基于维度表与事实表创建数仓模型,数仓模型通过配置表之间的关联关系,将多表组合在一起进行数据展现,数仓模型也是创建分析模型的基础

2.创建门店销售统计模型,添加门店表以及门店销售汇总事实表。

3.在关联关系中配置两表之间的关联。

3.2分析模型

上述的数仓模型构建好之后就可以对于分析模型进行创建,因为后续算法模型需要使用的数据来源是数据集,所以本次在分析模型中,创建数据集即可。

首先在基本信息页面选取创建好的数仓模型。

在字段选择页面中选取使用的字段,保存后数据集就创建完成。

3.3数据展现

以上数据配置好之后,点击数据预览,就可以对于门店销售数据进行查看。

4算法模型

算法模型分为算法原型、算法开发、算法调用、算法日志,算法原型是在系统中预置好的算法,供算法开发使用,算法开发是针对开发人员使用,通过对算法开发进行数据、条件、属性以及对算法模型的调优之后,生成算法调用,供使用人员进行调用,调用后会生成对应的日志,查看调用详情信息。

由于算法原型是预置在产品中,所以接下来对于算法开发以及算法调用功能使用进行说明。

4.1算法开发

本次算法开发说明使用回归模型进行说明,回归模型属于有监督的模型,主要是针对连续性的数据进行预测,本次说明的回归模型是基于公司下多个门店历史年月中的假期天数、线上订单数、线下订单数与销售额之间的关系从而对于未来时间段的销售额进行预测。

1.首先在新增页面选取数据集以及算法原型。

2.在字段选择中选取特征值以及预测值,本次的销售预测是使用假期天数、线上、线下订单以及客单价来预测销售额。

3.因为是预测,所以需要使用一些大批量的历史数据来进行预测,这可以确保预测的准确性,所以需要在条件配置中配置时间条件。

4.算法开发会生成算法调用,算法调用的作用是对于数据进行预测后,将数据回写到数据库中,最终可以通过配置进行数据的可视化展现,所以需要对于数据的回写策略进行配置,回写分为表回写以及字段回写,本次使用的是字段回写,目标字段配置的是需要回写的字段,条件字段作为唯一值,确保数据的一致性。

5.以上配置好之后,对数据生成CSV文件,接下来对算法进行开发。

6.点击算法开发后打开在Jupyter NoteBook生成的算法开发代码,该代码是通过算法原型生成,接下来要对代码进行开发以及调优,下面对下图中的三段代码进行说明:

(1)在第一段代码中,首先是读取生成的csv文件,接下来对文件中的特征值和预测值拆分X和y,并将X和y中的数据拆分为8比2的占比作为各自的训练集以及测试集。

(2)在第二段代码中,通过传递的模型集合以及数据,求出不同模型的均方差值,均方差值是衡量预测值与真实值之间差异的指标,差值越小,说明模型的预测值与真实值之间的差异越小,模型的性能就越好,根据循环对比,找出最优模型。

(3)在第三段代码中,创建回归模型集合,调用第二段代码,找出最优模型。

7.接下来对之后的代码进行说明:

(1)在下图第一段代码中,根据寻找出的最优模型,进行参数调优,参数调优采取的方法是交叉验证,通过给出一个区间的参数,使用交叉验证后,会返回一个使用最佳参数的模型。

(2)第二段代码就是使用最优模型对数据进行打图,进行数据的可视化,可以直观地看出模型的效果好坏,下图的蓝色散点图为预测值散点图的分布,虚线是真实值最小值到最大值的直线分布,可以看出两个图形之间基本吻合,所以可以得出当前模型的效果很好。

8.算法开发好后进行解析代码,将代码存储至数据库中,最后再生成py文件,py文件是算法进行训练时需要调用的文件。

9.接下来点击执行,执行成功后生成模型对象,模型对象可以理解为算法开发后训练好的对象,在算法调用时,会调用该对象,使用该对象执行训练需要预测的数据特征值,就可以得到预测值,算法开发的执行方式同时还支持定时触发,条件值应该设为变量条件,比如当前年份/月份-1等,这样经过定时训练后就可以保证会实时训练新的数据,从而得到最新预测模型对象。

4.2算法调用

1.算法调用是基于算法开发生成,创建方式分为两种,一是在算法开发页面中,生成算法调用,二是在算法调用页面手动新增

2.在算法调用的条件配置中,需要将预测的条件进行添加。

3.配置好之后点击执行,将算法调用进行执行。

4.执行之后,会生成对应的算法日志,日志中可以查看执行的参数信息以及训练结果等信息。

5.算法调用执行方式除了手动执行还支持定时执行以及事件执行,定时执行是保证数据预测的实时性,事件执行是确保源数据发生变化时,预测同时也要进行执行,保证数据的一致性以及准确性。

4.3功能展示

算法在调用结束之后,会将数据进行预测并回写,接下来对预测分析导航进行查看。

5心得总结

在实际应用中,数据分析可帮助人们做出判断,以便采取适当行动,所以数据一定是标准的、完整的、准确的,通过上述数据采集把业务系统中不正确数据过滤掉、调整后,使数仓中的数据具有可用性,使用正确的数据进行分析预测,最后对于数据进行可视化展现,提升数据价值,正确引导公司的发展。

5.1过程总结

数据的可视化展现可以使大家能够用一些简短的图形就能体现那些复杂信息,而有些数据是预测型、统计分析类型,所以需要使用机器学习来对数据进行预测或者统计分析,最终使数据进行可视化的展现,让决策者可以轻松地获取查看各种不同的数据源。来分析过去某时间段企业的发展趋势,去规划未来的发展方向。

5.2重要事项

使用DAP数据分析平台进行算法数据预测时需要注意如下几个重点:

1.数据要具有业务逻辑,不论是在实际开发还是在数据预置,都要贴近业务,这才能使产品更加具有可用能力。

2.数据预置要有逻辑性,数据在进行预测时都是结合历史数据进行预测,只有数据之间的关系紧密,预测的数据才能准确。

3.要确保数据的联动性,数据从源头发生变化时,要进行事件的触发,确保预测数据的准确性。

5.3说在最后

DAP数据分析平台作用在于对海量数据进行采集分析治理,将治理后的数据通过配置进行可视化展现,提升数据价值,而算法模型的使用主要是结合历史数据对未来数据进行预测,并且可以通过调整预测值可以反推数据参数的变化,这可以有效地让决策者做出决策,提升企业价值。

这篇关于DAP数据集成与算法模型如何结合使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/493894

相关文章

springboot集成easypoi导出word换行处理过程

《springboot集成easypoi导出word换行处理过程》SpringBoot集成Easypoi导出Word时,换行符n失效显示为空格,解决方法包括生成段落或替换模板中n为回车,同时需确... 目录项目场景问题描述解决方案第一种:生成段落的方式第二种:替换模板的情况,换行符替换成回车总结项目场景s

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

Spring Security简介、使用与最佳实践

《SpringSecurity简介、使用与最佳实践》SpringSecurity是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架,本文给大家介绍SpringSec... 目录一、如何理解 Spring Security?—— 核心思想二、如何在 Java 项目中使用?——

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结