魔镜—58可视化数据智能平台架构与实践

背景

魔镜是数据产品研发部基于大数据平台开发的一套可视化数据智能平台。传统机器学习建模流程对非数据科学专业人员来说,整体门槛较高,其中主要体现在几个方面:

1. 机器学习概念较为抽象

比如训练集、验证集、测试集、特征、维度、标签泄露、欠拟合、过拟合、学习曲线、验证曲线、ROC曲线、混淆矩阵等等,除了需要了解概念外,需要了解具体的使用场景、使用方法。

2. 机器学习建模流程复杂

数据准备、数据预处理、统计分析、特征工程、模型训练与建模、模型评估与对比等,尤其是统计分析以及特征工程,涉及大量的特征生成、特征变换、特征选择的过程,占用了数据挖掘的大部分时间。

3. 数学推导以及开发能力

除了需要熟悉Python、R,在大数据环境下Java和Scala用得也相对较多。特别对于那些需要自己实现算法以匹配自己业务的场景,会涉及大量的公式推导、模型并行优化等相关高阶能力。

目标

对于那些了解业务需求、规则策略敏感、工程以及算法能力相对欠缺的人员,如:业务、运营、数据产品等,我们定义为非专家用户;对具有丰富建模经验、出众工程和算法能力、业务理解稍弱的人员我们定义为专家用户。

魔镜用户囊括了这两类用户,针对这两类用户我们设计了可视化的操作界面、丰富的算法组件、方便的调参方式、详细的评估对比报告。

魔镜目标旨在为非专家用户降低机器学习门槛,加速其使用数据挖掘手段进行业务探索;同时辅助专家用户,加速其整体建模流程。

整体架构

1. 用户体系

集成公司的SSO以及BSP,以OA账号作为唯一登录账号,用户体系统一。

2. 安全体系

集成大数据平台的多租户体系,执行相关命令时根据OA账号获取所属部门的Hadoop账号,进而获取相应Hadoop账号下有权限的Hive表、HDFS路径以及相应的资源队列。

3. 资源层

目前的数据源以及结果数据基于Hive存储,模型文件存储于HDFS。计算引擎基于Spark,基于Scala实现数据预处理、统计分析等逻辑,大部分模型算法来源于Spark MLLib,部分算法(XGBoost、LightGBM、FM等)集成第三方。

4. 逻辑层

目前逻辑层涵盖数据源/目标,、数据预处理、统计分析、特征工程、机器学习、工具六类,共70个组件。

5. 应用层

针对实验提供了项目管理以及实验管理,提供了完善的权限控制。数据管理功能与DP集成,可以直接读取大数据平台中自己有权限的Hive表。模型管理目前主要针对二分类模型,提供了完善的模型对比、模型发布等功能。

同时魔镜提供了完善的调度功能,可以自动解析实验中多个组件的依赖关系,并提供多种灵活的调度策略。

6. 服务层

离线调度:线下训练好的模型集成调度可以形成离线调度服务,定期使用训练好的模型对新数据进行预测。下图为离线调度流程图:

在线预测:结合模型发布、模型关联可以将线下训练好的模型进行发布,提供给用户使用HTTP接口进行实时预测的能力。

调度依赖

调度针对如下组件之间的依赖关系,该以什么方式快速判断其执行的先后顺序呢?

传统思路为使用递归方式判断其依赖关系,在魔镜中我们采用类似拓扑排序的方式,将相互依赖关系转换成二维数组形态,只需简单判断横向坐标里边的元素全为0即可及时判断出下一个即将要执行的任务节点,减少计算量,提高计算速度:

特征生成

特征工程占据了整个数据挖掘的大部分时间,而特征工程里边的特征生成又占用了其中的大部分时间,如何减少特征生成的时间是魔镜关注的一个重点。

专家用户常使用Python的一些第三方库实现特征生成,其中一个比较好的是FeatureTools,进行实体关系设置、实体关联、选择聚合和转换方法后,可以自动生成具有良好解释性的特征。

基于单机版的Python或者Python的并行框架去执行,无法直接和DP进行集成,并且没有办法利用到公司的集群资源,基于这个背景,魔镜做了如下设计:

主旨思想为:数据驱动计算。

1. 数据定义

需要定义好特征主表以及各特征子表,主表和子表之间需要通过关联字段进行关联。

2. 数据切分

按主表主键将主表数据以及关联的子表数据进行切分,按照规则生成在指定的HDFS目录中。

3. 分布执行

使用Spark定义序列,并将序列号作为Python函数参数,传入到特征生成函数中。各路径中的数据由各自指定的Python进程进行运算并存储。

4. 汇总结果

由Spark的Driver进程汇总各Python进程的执行结果,进行最终输出。

总结:利用集群的分布式计算能力加快了生成速度,同时利用了Python的第三方库能力进行了功能扩展。

自动建模(二分类)

目前业界对自动学习部分的支持力度越来越大,不仅国内的阿里PAI、第四范式,国外的H2O、TransmogrifAI 等也做得很深入。

更有甚者DataRobot完全针对非专家用户提供一键式运行,内部集成了数据预处理、特征生成、特征转换、特征选择等特征工程,内部更是集成了Spark、Python、R等等多种模型算法,算法并行执行、自动选择最优算法,并完成了模型一键部署以及模型部署后的效果跟踪。

魔镜也实现了类似的尝试,目标是针对非专家用户生成基线模型。

整体流程如下:

1. 数据预处理

对特征维度进行统计,删除缺失值大于90%的特征。并对剩余特征按照60%、20%、20%的比例进行切分,分别作为训练集、验证机和测试集。

2. 特征工程

分别针对数值特征、非数值特征以及树形模型、非树形模型做了不同处理。

3. 模型训练

目前集成了4类算法(RF、GBDT、LR、XGBoost),分别针对每类算法提供了一组默认的参数组合,利用Spark的分布式能力,对各算法的各参数组合(网格式),在60%训练集以及20验证集上并行运行。

4. 评估报告

将各模型的结果按照评估指标进行排序,在评估报告中分别显示各算法的具体效果。提取最优模型的训练参数在前80%的数据上进行训练,并在最终20%测试集上进行最终效果评估。

展望

后期会在集成云窗调度、高维特征支持、Python模型支持、模型在线预测上进一步展开。

原文地址:https://www.cnblogs.com/cuiyubo/p/11297310.html

时间: 2024-08-04 17:23:27

魔镜—58可视化数据智能平台架构与实践的相关文章

美图数据统计分析平台架构演进

摘要:美图拥有十亿级用户,每天有数千万用户在使用美图的各个产品,从而积累了大量的用户数据.随着App的不断迭代与用户的快速膨胀,产品.运营.市场等越来越依赖于数据来优化产品功能.跟踪运营效果,分析用户行为等,随之而来的有越来越多的数据统计.分析等需求,那么如何应对和满足不断膨胀的数据统计与分析需求?业务的不断发展又怎么推进架构实现的改造?本文将介绍大数据业务与技术的碰撞产物之一:美图大数据统计分析平台的架构演进,希望通过这次分享能给大家带来一些解决数据业务与架构方面的思考. 如果有做过大数据相关

蚂蚁金服数据质量治理架构与实践

摘要:以"数字金融新原力(The New Force of Digital Finance)"为主题,蚂蚁金服ATEC城市峰会于2019年1月4日上海如期举办.金融智能专场分论坛上,蚂蚁金服数据平台部高级数据技术专家李俊华做了主题为<蚂蚁金服数据治理之数据质量治理实践>的精彩分享. 演讲中,李俊华介绍了蚂蚁金服数据架构体系的免疫系统--数据质量治理体系,此外还着重介绍了数据质量实施的相关内容,以及蚂蚁的数据质量治理实践与所面对的实际挑战.李俊华 蚂蚁金服数据平台部高级数据技

感悟:微博深度学习平台架构和实践

TensorFlow.Caffe和MXNet是三大主流的深度学习开源框架:TensorFlow的优势是社区最活跃,开源算法和模型最丰富:Caffe则是经典的图形领域框架,使用简单,在科研领域占有重要地位:MXNet在分布式性能上表现优异.PaddlePaddle.鲲鹏.Angel则是百度.阿里.腾讯分别推出的分布式计算框架. 腾讯深度学习平台DI-X 腾讯深度学习平台DI-X于2017年3月发布.DI-X基于腾讯云的大数据存储与处理能力来提供一站式的机器学习和深度学习服务.DI-X支持Tenso

美图数据统计分析平台架构演进 当时我一个人,一天能够做四五个统计需求,而抽象后一天从了解需求开始到实现大概能做七八个统计需求,整体效率有不错的提升。

小结: 1. 一个有追求的程序员的话,可能不会甘于每天做重复的工作.因为在平时接触业务与实现过程中,深有体会统计业务逻辑的流程基本上是一致的,所以考虑抽象出这样一个相对通用的业务处理的流程,基本的流程是从数据源Query出数据,然后做一些业务方面的聚合或者过滤,最终把数据存储到DB.那在代码实现层面做了一层抽象,抽象一个统计的组件,包含Query.Aggregator以及DBStore,然后分别有一些不同Query和Store场景的实现.当做了一层这样的抽象以后,相比于前面的方案,生产力还是得到

内测“百度图说” 基于Web的可视化数据分享平台,嵌入ECharts

拿到内测码,立马登陆测试下,总体感觉很棒,图表功能还在完善中,期待!! (1)玩转大数据 (2)如何工作流程 (3)进入后界面,显示已经完成的工程 (4)点击创建图表 (5)这里就选择折线图吧 在工具栏中有:添加.保存.页面设置.分享等功能. 功能很是丰富,包含拖动.数据编辑.参数调整.删除等功能. (6)首先看数据编辑界面 数据表采用Excel格式,可以方便的添加更多的数据. (7)参数调整功能 包括基础.标题.视区.x轴.y轴.图例.提示.工具八大块功能. 基础属性栏: 标题属性栏: 视区属

[个推 CTO、前MSN中国首席架构师 谈数据智能] 之本质及技术体系要求

安森,个推CTO毕业于浙江大学,现全面负责个推技术选型.研发创新.运维管理等工作,已带领团队开发出针对移动互联网.金融风控等行业的多项前沿数据智能解决方案. 曾任MSN中国首席架构师,拥有十余年资深技术开发与项目管理经验,在大数据处理系统.大规模并发平台.分布搜索系统.手机应用开发.无线通信领域和智慧金融系统等领域拥有丰富实践经验. 引言中国移动互联网的发展见证了中国大数据行业的蓬勃发展.数据智能作为移动互联网时代的自然产物,也是未来很长一段发展阶段的核心所在.个推(每日互动)和业界的共识不谋而

奇点云数据中台技术汇(一)DataSimba——企业级一站式大数据智能服务平台

在这个“数据即资产”的时代,大数据技术和体量都有了前所未有的进步,若企业能有效使用数据,让数据赚钱,这必将成为企业数字化转型升级的有力武器. 奇点云自研的一站式大数据智能服务平台——DataSimba,旨在提供数据采集.数据加工.数据治理.数据规范.数据资产.数据服务等全链路的产品+技术+方法论服务,构建面向业务应用的大数据智能平台.其主要核心模块包括了数据开发套件.数据治理套件.数据服务引擎.数据智能.数据安全. 1.数据采集 数据采集作为数据中台第一个环节,不仅仅是要“采集”,也要将数据合理

奇点云数据中台技术汇(一) DataSimba——企业级一站式大数据智能服务平台

在这个"数据即资产"的时代,大数据技术和体量都有了前所未有的进步,若企业能有效使用数据,让数据赚钱,这必将成为企业数字化转型升级的有力武器. 奇点云自研的一站式大数据智能服务平台--DataSimba,旨在提供数据采集.数据加工.数据治理.数据规范.数据资产.数据服务等全链路的产品+技术+方法论服务,构建面向业务应用的大数据智能平台.其主要核心模块包括了数据开发套件.数据治理套件.数据服务引擎.数据智能.数据安全. 1.数据采集 数据采集作为数据中台第一个环节,不仅仅是要"采

收集各大互联网公司大数据平台架构

1. 五种主流的大数据架构 收集各大互联网公司大数据平台架构 1. 酷狗音乐的大数据平台架构: https://www.infoq.cn/article/kugou-big-data-platform-restructure 2. 滴滴大数据离线和实时平台架构和实践: https://myslide.cn/slides/15307 3. 美图大数据平台lamda架构: https://www.infoq.cn/article/QycsTZSz0REAFTgmh_J0 持续更新中...... 原文