关于MLOps中的数据工程,你一定要知道的.......

  • 背景:
  • 数据工程是什么:
  • MLOps中的数据工程有哪些看点?
    • 1.数据收集
    • 2.数据探索
    • 3.数据处理
    • 4.特征工程
    • 5.暗线

背景:

21世纪以来,以Hadoop、Spark、Hive为代表的大数据工具,和以Google Cloud、AWS、阿里云、华为云等为代表的公共云奠定了当今数据生态系统的基础。随着海量数据处理工具集的发展以及数据源和数据格式在种类和规模上的不断增长,数据工程越来越成为一门多技术综合应用的学科,用以实现最终业务目标。

数据工程是什么:

数据工程是关注数据的流向和访问的机制,原始数据从源系统引入、存储和处理,生成高质量、符合标准的数据,转为下游人员可用的数据形式,如数据科学家、数据分析师等。数据工程师致力于构建自动化和规模化的数据处理管道,保障下游业务分析和决策的流畅进行。

MLOps中的数据工程有哪些看点?

比起普通的数据工程,MLOps(机器学习开发运营一体化)中的数据工程更加聚焦于为机器学习模型的开发做准备,它是MLOps开发管理流程的重要一环,其目标是为后续模型开发及最终决策提供高质量的数据。MLOps数据工程架构图如下图所示,从外部或内部系统生成的数据作为数据工程的输入,需经过数据收集、数据探索、数据处理和特征工程一系列的步骤。数据管理和Pipeline编排作为暗线贯穿了数据工程始终。数据工程的输出可以直接提供给下游的传统机器学习任务(如SVM、决策树、逻辑回归等)和深度学习任务(如人脸识别、图像分割、智能对话、机器翻译等)使用。

MLOps数据工程架构图

1.数据收集

数据收集是指从分散的来源中提取、集成和组织数据。数据收集主要分为两种类型:流式处理数据与批处理数据。实际上,我们处理的所有数据本质上都是流式的,数据几乎总是在其源头不断生成和更新。流式处理使我们能够以连续、实时的方式向下游系统(无论是其他应用程序、数据库还是数据分析系统)提供数据。批处理数据要么按预定的时间间隔引入,要么在数据达到预设大小阈值时引入。批处理数据是一种以块状形式处理数据流的专用且便利的方法,例如在单个批处理中处理全天的数据。

2.数据探索

数据探索是在不改动数据本身的前提下,挖掘数据的统计信息,通过可视化的方式展现数据中隐含的规律和特质。数据探索主要包括三个方面:整体分析、统计描述和相关分析。
(1)整体分析:需要检查数据集的数量、完整度,确认数据质量是否存在问题(缺失值、重复值、错误值、异常值),判断样本是否平衡。
(2)统计描述:采用描述性统计的方式刻画数据分布的集中趋势(均值、中位数、众数等)、离散趋势(方差、标准差、极差等)和分布形状(偏度、峰度)。描述性统计中常用的可视化图表有直方图、箱线图、柱形图、茎叶图、折线图、条形图等。
(3)相关分析:考察不同变量之间的关系,分为连续变量与连续变量、离散变量与离散变量、连续变量与离散变量三种,有各自使用的量化指标和图表可视化方式。

数据探索相关分析要点

3.数据处理

数据处理是指对数据进行清洗、转化和准备,使之可用。数据处理可以解决数据可能存在的质量问题(如异常、缺失、冗余等),将数据加工为模型开发能够直接使用的形式。数据处理主要包含三个部分:数据预处理、数据标注和数据版本管理。

数据处理步骤

(1)数据预处理:包含数据清洗、数据转换、数据增强、数据纠偏等操作。
·数据清洗包括检查数据一致性、数据去重、异常值检测、处理无效值和缺失值等。
·数据转换是指将数据进行转换,从而构成一个适合数据处理的描述形式,包含格式转换、数据重组(排序、合并、过滤)等。
·数据增强是指基于有限数据生成更多等价数据,丰富训练数据集的分布,提高模型泛化能力,如基于GAN的对抗样本生成、神经风格转换等。
·数据纠偏是针对数据不平衡的问题进行如上采样、下采样等数据纠偏操作。
(2)数据标注:对需要机器识别和分辨的数据贴上标签,是机器学习模型能够学习和准确预测的关键。数据标注通常包括图像标注、语音标注、文本标注、视频标注等类型,标记的基本形式有标注画框、3D画框、文本转录、图像打点、目标物体轮廓线等。

数据标注示意图(图片来源:百度智能云数据众包之数据标注)

(3)数据版本管理:数据版本管理是对处理过程中的数据各版本进行管理,以实现数据的可追溯性。

4.特征工程

特征工程,目的是最大限度地从原始数据中提取特征以供算法和模型使用,从而获取更好的训练数据。

特征工程步骤

特征工程由特征预处理、特征提取、特征选择和特征压缩四个步骤组成。
(1)特征预处理包括特征过滤(反常值的平滑化)、特征无量纲化(标准化、归一化)、特征分箱、特征二值化等数据格式和范围的处理操作。
(2)特征提取是将原始特征转换为一组具有明显物理意义(如Gabor、几何特征[角点、不变量]、纹理
[LBP HOG])或者统计意义的特征。

原始特征转化为直方图特征(图片来源:LearnOpenCV官网)

(3)特征选择是从步骤(2)的特征中挑选一组最具有统计意义的特征,主要的方法包括过滤法、封装法和嵌入法。
过滤法Filter:,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
–方差选择法:计算各个特征方差,选择方差高于阈值的特征;
–相关系数法:计算各个特征对目标值的相关系数(如Pearson相关系数)和对应的P值,选择相关系数高于阈值的特征;
–互信息法:计算各个特征的信息增益,选择信息增益高于阈值的特征。
封装法Wrapper:通过递归的方式来消除特征。根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
嵌入法Embedded:使用带惩罚项的某些机器学习算法(如随机森林、决策树)进行特征选择和模型训练,得到特征全集中各个特征的权值系数,根据系数从大到小选择特征。
(4)特征降维是在信息损失最少的情况下,用更少的特征代表原有数量庞大的特征,缓解维度灾难,减小运行时间,便于可视化。特征降维主要有主成分分析(PCA)和线性判别分析等方法。
PCA 是一种无监督的线性降维算法,利用正交变换对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分。它的目标是通过某种线性投影,将数据映射到低维空间中,并期望映射后的数据方差尽可能大(数据分散开),从而保留更多的有用信息。

PCA:从n维特征到2维特征

线性判别分析是一种有监督算法,它的目标是寻找一个投影矩阵,将数据投影到低维空间后,同一类数据尽可能紧凑,不同类数据尽可能分散。

线性判别分析:从2维特征到1维特征 (图片来源:知乎柳枫)

5.暗线

数据工程的构建和实施是由数据管理、Pipeline编排构成的暗线贯穿的,它们跨越了数据工程生命周期的各个阶段。缺少这些暗线,数据工程生命周期的任何部分都无法正常运行。
(1)数据管理。这里的数据管理是广义范围的所有与数据相关的计划、统筹、实施和复盘的操作,它管理的是数据工程生命周期中的数据安全、数据存储、数据质量、数据流转、数据治理的方方面面,参见下方的数据管理金字塔图。而数据治理更侧重于组织全局范围内的制度体系、职责分配、责任边界划分、统筹规划、风险审计等,形成对于数据安全、数据存储、数据质量、数据流转的流程,发挥更大数据价值。

数据管理金字塔

(2)Pipeline编排。Pipeline编排是指对流程中各步骤进行串联和标准化的管理机制,以加快执行速度,提高生产效率。Pipeline流水线的自动化执行程度充分反映了组织的人工智能研发技术和管理水平。

数据工程Pipeline

关于MLOps中的数据工程,你一定要知道的.......相关推荐

  1. 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

    前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...

  2. gdbstub中的基本命令_程序员应该知道的 20 个 Linux 系统管理命令

    在充满新工具和多样化开发环境的世界中,任何开发人员或工程师都必须学习一些基本的系统管理命令,以下这 20 个基本的系统管理命令可以帮助开发人员排除故障.优化应用程序.提供重要的系统信息等,是每个程序员 ...

  3. 华为hcie认证工程师里一定要知道的Radius 基本介绍

    华为hcie认证工程师Radius 基本介绍为实现对于用户的认证.授权以及审计的工作,实现远端AAA 功能,其中一种广泛使用的方式就是利用Radius 协议.RADIUS可以实现例如以太网接入等多种用 ...

  4. 关于在开源社区中的“工作倦怠”,你所需要知道的事

    | 作者:Tara Gu | 编辑:王皓月 | 设计:朱亿钦 | 翻译:Paul Wang | 审稿:卫sir 今年早些时候,我出现了工作倦怠.凑巧的是,当时我正在研究"工作倦怠" ...

  5. python 插补数据_python 2020中缺少数据插补技术的快速指南

    python 插补数据 Most machine learning algorithms expect complete and clean noise-free datasets, unfortun ...

  6. 深度学习中的数据增强(上)

    feic非[技术综述] 深度学习中的数据增强(上) - 知乎 https://zhuanlan.zhihu.com/p/38345420 [技术综述]深度学习中的数据增强(下) - 知乎 https: ...

  7. sql isnull怎么没用_SQL语言在数据工程(Data Engineering)中的运用(一)

    我与SQL的纠葛好几年前就开始了,在不断炒冷饭的过程中终于接了几个不错的项目,把冷饭变成了温饭.今天就借此机会,与大家分享一下自己在项目中的心路历程,从中学习到的SQL在数据工程中的运用,代码分享,代 ...

  8. ML:MLOps系列讲解之《CRISP-ML (Q)ML生命周期过程—了解机器学习开发的标准过程模型—业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护》解读

    ML:MLOps系列讲解之<CRISP-ML (Q)ML生命周期过程-了解机器学习开发的标准过程模型-业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护& ...

  9. 机器学习-特征工程中的数据预处理

    对于一个机器学习问题,数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限.由此可见,数据和特征在模型的整个开发过程中是比较重要.特征工程,顾名思义,是对原始数据进行一系列工程处理,将其提炼为 ...

最新文章

  1. 6位有符号补码阵列乘法器_C/C++学习日记:原码、反码和补码
  2. leetcode每日一题系列——797. 所有可能的路径
  3. WebSocket在容器化管理平台的应用
  4. 2020-11-22(工作集与常驻集)
  5. 测试女生周期的软件名字,什么软件可以提醒生理期?适合女生可用的便签软件...
  6. 请解释一下TreeMap
  7. python自动化办公选择题_python自动化开发-[第一天]-练习题
  8. java验证xml格式是否正确的是_spring源码附录(1)java实现对XML格式的验证
  9. java定向输出程序日志(输出到txt文件中)
  10. 奔图龙芯计算机认证报告,龙芯3A 1500 3U VPX加固计算机
  11. H3C MSTP实验
  12. 显示封装_LED显示封装高度集成化道路上,五大封装技术谁能率先拔得头筹?
  13. 【OpenCV】目标检测
  14. mnist tensorrt 运行_TensorRT学习笔记(三)
  15. 雷达传感器应用,微波雷达感应模块,物联网传感技术发展
  16. 大数据常用的挖掘方法,主要有哪些?
  17. Account-login
  18. 消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记
  19. Linux/Deepin 系统简单安装 Photoshop CS6 教程,附安装包
  20. Python量化投资——股票择时到底能否赚钱?TA-Lib 33种技术指标有效性横向大评比

热门文章

  1. linux中groupadd命令详解,adduser和addgroup命令讲解
  2. java pde_使用PDE求解器求解PDE的高初始值u
  3. 【NeurIPS】神经成像时空回归模型的有效分层贝叶斯推理 Efficient Hierarchical Bayesian Inference
  4. warp()和wrapAll()区别
  5. Mybatis源码日知录
  6. 【比特熊故事汇】6月MVP英雄故事—微软MVP X 英特尔特邀专家,一起消夏
  7. html escape函数,Javascript escape() 函数和unescape() 函数
  8. Matplotlib subplot()函数用法详解
  9. R语言基于K-means聚类的客户价值分类
  10. Ubuntu18.04安装MPTCP