机器学习中的数据预处理都有哪些常见/重要的工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习中的数据预处理都有哪些常见/重要的工具相关的知识,希望对你有一定的参考价值。

参考技术A 大数据发展的挑战: 目前大数据的发展依然存在诸多挑战,包括七大方面的挑战:业务部门没有清晰的大数据需求导致数据资产逐渐流失;内部数据孤岛严重,导致数据价值不能充分挖掘;数据可用性低,数据质量差,导致数据无法利用;数据相关管理技。

机器学习之常见的数据预处理:原始数据存在的几个问题:不一致;重复;含噪声;维度高。
1.1 数据挖掘中使用的数据的原则
尽可能赋予属性名和属性值明确的含义; 去除惟一属性; 去除重复性; 合理选择关联字段。
1.2 常见的数据预处理方法
数据清洗:数据清洗的目的不只是要消除错误、冗余和数据噪音,还要能将按不同的、不兼容的规则所得的各种数据集一致起来。 数据集成:将多个数据源中的数据合并,并存放到一个一致的数据存储(如数据仓库)中。这些数据源可能包括多个数据库、数据立方体或一般文件。
数据变换:找到数据的特征表示,用维度变换来减少有效变量的数目或找到数据的不变式,包括规格化、规约、切换和投影等操作。 数据规约:是在对发现任务和数据本身内容理解的基础上,寻找依赖于发现目标的表达数据的有用特征,以缩减数据模型,从而在尽可能保持数据原貌的前提下最大限度的精简数据量,主要有两个途径:属性选择和数据抽样,分别针对数据库中的属性和记录。
二、数据清洗
2.1 缺失值处理的两种方法
删除法,根据数据处理的不同角度,删除法可分为以下4种:
(1)删除观测样本 (2)删除变量:当某个变量缺失值较多且对研究目标影响不大时,可以将整个变量整体删除 (3)使用完整原始数据分析:当数据存在较多缺失而其原始数据完整时,可以使用原始数据替代现有数据进行分析; (4)改变权重:当删除缺失数据会改变数据结构时,通过对完整数据按照不同的权重进行加工,可以降低删除数据带来的偏差。
插补法:在条件允许的情况下,找到缺失值的替代值进行插补,尽可能还原真实数据是更好的方法。常见的方法有均值插补、回归插补、二阶插补、热平台、冷平台等单一变量插补。
(1)均值法是通过计算缺失值所在变量所有非缺失观测值的均值,使用均值来代替缺失值的插补方法。 (2)均值法不能利用相关变量信息,因此会存在一定偏差,而回归模型是将需要插补变量作为因变量,其他相关变量作为自变量,通过建立回归模型预测出因变量的值对缺失变量进行插补。 (3)热平台插补是指在非缺失数据集中找到一个与缺失值所在样本相似的样本(匹配样本),利用其中的观测值对缺失值进行插补。 (4)在实际操作中,尤其当变量数量很多时,通常很难找到与需要插补样本完全相同的样本,此时可以按照某些变量将数据分层,在层中对缺失值使用均值插补,即采取冷平台插补法。
2.2 噪声数据处理
噪声是一个测量变量中的随机错误和偏差,包括错误值或偏离期望的孤立点值。
噪声检查中比较常见的方法:
(1)通过寻找数据集中与其他观测值及均值差距最大的点作为异常 (2)聚类方法检测,将类似的取值组织成“群”或“簇”,落在“簇”集合之外的值被视为离群点。 在进行噪声检查后,通常采用分箱、聚类、回归、计算机检查和人工检查结合等方法“光滑”数据,去掉数据中的噪声。
分箱:分箱方法是一种简单常用的预处理方法,通过考察相邻数据来确定最终值。所谓“分箱”,实际上就是按照属性值划分的子区间,如果一个属性值处于某个子区间范围内,就称把该属性值放进这个子区间所代表的“箱子”内。把待处理的数据(某列属性值)按照一定的规则放进一些箱子中,考察每一个箱子中的数据,采用某种方法分别对各个箱子中的数据进行处理。在采用分箱技术时,需要确定的两个主要问题就是:如何分箱以及如何对每个箱子中的数据进行平滑处理。
2.2.1 分箱的方法:有4种:等深分箱法、等宽分箱法、最小熵法和用户自定义区间法。
等深分箱法(统一权重):将数据集按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱子的深度。这是最简单的一种分箱方法。
设定权重(箱子深度)为4,分箱后
箱1:800 1000 1200 1500
箱2:1500 1800 2000 2300
箱3:2500 2800 3000 3500
箱4:4000 4500 4800 5000
等宽分箱法(统一区间):使数据集在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。
设定区间范围(箱子宽度)为1000元人民币,分箱后
箱1:800 1000 1200 1500 1500 1800
箱2:2000 2300 2500 2800 3000
箱3:3500 4000 4500
箱4:4800 5000
用户自定义区间:用户可以根据需要自定义区间,当用户明确希望观察某些区间范围内的数据分布时,使用这种方法可以方便地帮助用户达到目的。
如将客户收入划分为1000元以下、1000~2000、2000~3000、3000~4000和4000元以上几组,分箱后
箱1:800
箱2:1000 1200 1500 1500 1800 2000
箱3:2300 2500 2800 3000
箱4:3500 4000
箱5:4500 4800 5000
2.2.2 数据平滑方法
按平均值平滑 :对同一箱值中的数据求平均值,用平均值替代该箱子中的所有数据。 按边界值平滑:用距离较小的边界值替代箱中每一数据。 按中值平滑:取箱子的中值,用来替代箱子中的所有数据。
三、数据集成
数据集成中的两个主要问题是:
(1)如何对多个数据集进行匹配,当一个数据库的属性与另一个数据库的属性匹配时,必须注意数据的结构; (2)数据冗余。两个数据集有两个命名不同但实际数据相同的属性,那么其中一个属性就是冗余的。
四、数据变换
数据变换策略主要包括以下几种:
光滑:去掉噪声; 属性构造:由给定的属性构造出新属性并添加到数据集中。例如,通过“销售额”和“成本”构造出“利润”,只需要对相应属性数据进行简单变换即可 聚集:对数据进行汇总。比如通过日销售数据,计算月和年的销售数据; 规范化:把数据单按比例缩放,比如数据标准化处理; 离散化:将定量数据向定性数据转化。比如一系列连续数据,可用标签进行替换(0,1);
五、数据归约
数据归约通常用维归约、数值归约方法实现。维归约指通过减少属性的方式压缩数据量,通过移除不相关的属性,可以提高模型效率。常见的维归约方法有:分类树、随机森林通过对分类效果的影响大小筛选属性;小波变换、主成分分析通过把原数据变换或投影到较小的空间来降低维数。本回答被提问者采纳

剑桥大学:机器学习模型部署都有哪些坑?

来源:机器之心

 
   
   
 

本文约2500字,建议阅读6分钟
在生产环境中部署机器学习模型是一个复杂的过程,需要考虑诸多因素,也存在很多挑战。近日,来自剑桥的研究者梳理了该流程常见的问题。

近年来,机器学习在学术研究领域和实际应用领域得到越来越多的关注。 但是,在生产系统中部署机器学习模型存在许多问题和担忧。 近日,来自剑桥的研究者做了一项调查,综述了在各个用例、行业和应用中部署机器学习解决方案的报告,并提取了机器学习部署工作流程各阶段需要实际考量的因素。


https://arxiv.org/pdf/2011.09926.pdf


该调查表明,机器学习从业者在部署模型的每一个阶段都面临挑战。该论文的意义是制定研究议程,以探索解决这些挑战的方法。

该调查主要考虑了三种类型的论文:

  • 用例研究型论文:这类论文提供单个机器学习部署项目的经过,通常会深入讨论作者面临的每个挑战以及克服方式。
  • 综述文章:这类文章描述了机器学习在特定领域或行业中的应用,通常总结了在所涉及领域中部署机器学习解决方案最常遇到的挑战。
  • 经验总结型论文:作者通常会回顾他们在生产中部署机器学习模型的经验。

为确保本次调查聚焦当前挑战,剑桥大学研究人员仅考虑近 5 年发表的论文,只有少数例外。此外,他们还引用了其他类型的论文,例如实践指导报告、访谈研究、规则制度。需要注意的是,该论文没有进行新的访谈。

机器学习部署流程

该论文使用 Ashmore 等人 [14] 提出的机器学习部署工作流程定义。根据该定义,在工业环境中开发 ML 解决方案的过程包含 4 个阶段:

  • 数据管理:重点是准备构建机器学习模型所需的数据。
  • 模型学习:模型选择和训练。
  • 模型验证:确保模型符合特定功能和性能要求。
  • 模型部署:将训练好的模型集成到运行模型所需的软件基础架构中。此阶段还涵盖模型维护和更新的问题。

以上每个阶段还可以进一步细分。但需要注意的是其顺序与现实场景未必完全相符,这些阶段并行执行或存在反馈循环是很正常的。

本文探讨了每个阶段会出现的常见问题,以及会对各阶段带来影响的跨领域问题,参见下表:


数据处理

数据是任何机器学习解决方案中不可或缺的部分,训练和测试数据对解决方案整体效果的影响不比算法少。创建高质量数据集通常是生产级机器学习流程的第一步。该论文介绍了数据管理的四个步骤:数据收集、数据预处理、数据增强和数据分析。

数据收集

数据收集旨在发现和了解可用数据,以及组织数据的存储结构。发现和寻找数据本身就是一项挑战,特别是在大型生产环境中。查找数据源并了解其结构是主要任务,对于后续数据科学家开展实际应用开发具有重要作用。

数据预处理

预处理步骤通常涉及一系列数据清洗步骤:插补缺失值、将数据缩减为有序且简化的形式、从原始格式映射为更便于处理的格式。

数据增强

数据增强的原因有多种,其中最重要的原因之一是数据缺少标签。现实世界中的数据通常没有标签,缺少标注数据的可能因素有三个:专家访问受限、缺乏高方差(high-variance)数据、数据量过大。

数据分析

数据分析旨在发现数据中的潜在偏差或意外分布。高质量工具对于任何类型的数据分析都至关重要,其中数据剖析(data profiling)的可视化是极具挑战性的。

模型学习

近年来,机器学习方法的研究倾向于在模型学习阶段更好地选择和使用各种模型和方法。六年来,机器学习顶会 NeurIPS 的论文提交量翻了两番,从 2014 年的 1678 篇到 2019 年的 6743 篇。尽管如此,模型学习阶段仍然受到许多实际因素的影响。本文主要阐明了与模型选择、训练和超参数选择 3 个步骤有关的问题。

模型选择

在许多实际例子中,模型选择通常取决于模型的一个关键特性:复杂度。尽管深度学习和强化学习在研究界越来越受欢迎,但实际情况中往往会选择比较简单的模型。常用的模型包括:浅层网络架构,基于 PCA 的简单方法、决策树、随机森林。

训练

模型训练最受关注的问题之一是因计算资源导致的经济成本。在自然语言处理(NLP)领域,尽管单个浮点运算的成本在降低,但训练 NLP 模型的总成本却在增长。Sharir 等人选择 SOTA 模型之一 BERT 进行实验,结果发现根据所选模型的大小,完整训练过程的经济成本可能在 5 万到 160 万美元不等,而这是大多数研究机构甚至企业无法承受的。此外,训练数据集的大小、模型参数的数量和训练过程中用到的操作数量都会对总成本产生影响。值得一提的是,模型参数量是尤其重要的影响因素:新的 NLP 模型已经达到了数十亿的参数量,未来这一数字还可能进一步增加。

超参数选择

除了在训练过程中学习到的参数以外,许多机器学习模型还定义了一些超参数。超参数优化(HPO)是选择这些超参数最佳集合的过程。大多数 HPO 技术涉及机器学习模型的多个训练周期。此外,HPO 任务的规模随着每个新的超参数呈指数式增长,因为它为搜索空间增加了新的维度。正如 Yang 和 Shami 所说,这些考虑因素使 HPO 技术在实践中非常昂贵且耗费资源,尤其是对于深度学习的应用而言。即使 Hyperband 和贝叶斯优化这类专门设计用来最小化所需训练周期的方法,由于模型复杂度和数据集大小等问题,有些问题仍然无法解决。

模型验证

模型验证阶段的目标是多方面的,因为机器学习模型应该很好地泛化到未见过的输入,显示出对边缘情况的合理处理和整体鲁棒性,并满足所有的功能需求。该论文讨论了与模型验证中的三个步骤——需求编码、形式验证和基于测试的验证有关的问题。

需求编码

定义机器学习模型的需求是测试活动的关键前提,但实际情况中经常会发现模型性能提升并不能转换为商业价值的增益。

形式验证

形式验证是指验证模型功能是否符合项目范围内所定义的要求。这类验证包括对其正确性的数学证明,也可以包括输出误差范围的数值估计,但是这种情况实际上很少发生,往往是通过广泛的监管框架形式化设置高质量标准。

基于测试的验证

基于测试的验证旨在确保模型能够很好地泛化到未见过的数据。尽管收集验证数据集通常不是问题,但对于生产部署而言这可能还不够。

模型部署

在生产环境中运行的机器学习系统是复杂的软件系统,需要根据时间的变化进行维护。这给开发人员带来了新的挑战。其中一些挑战在运行常规软件服务时也存在,而有些挑战则是机器学习特有的。

模型集成

模型集成步骤包括两个主要活动:构建运行模型的基础架构,以可使用和支持的形式实现模型。前者几乎是完全属于系统工程的主题,后者则属于机器学习领域,它揭示了机器学习与软件工程交集中的重要问题。

模型监测

模型监测是维护机器学习系统方面的问题之一。社区正处于理解待监测数据和模型的关键指标以及如何启动警报的早期阶段。监测不断变化的输入数据、预测偏差和机器学习模型的整体性能是一个尚未解决的问题。

该论文强调的另一个维护问题与数据驱动决策有关,即反馈循环。生产级机器学习模型可以通过定期的再训练影响自己的行为。在确保模型保持最新状态的同时,我们可以创建反馈循环,即调整模型的输入以影响其行为。

模型更新

模型完成初始部署后,通常还需要更改,以确保模型始终反映数据和环境的最新趋势。有多种技术可以使模型适应新数据,包括按计划定期再训练和持续学习。但在生产环境中,模型更新会受到多种实际因素的影响。

以上是关于机器学习中的数据预处理都有哪些常见/重要的工具的主要内容,如果未能解决你的问题,请参考以下文章

机器学习的方法都有哪些?

无监督机器学习中,最常见的聚类算法有哪些?

文本分类方法都有哪些

机器学习中都有哪些重要的优化算法?

目前常用的自然语言处理开源项目/开发包都有哪些?

大数据培训的内容是啥都有哪些方式