机器学习中的数据清洗与特征处理综述

随着美团交易规模的逐步增大,积累下来的业务数据和交易数据越来越多,这些数据是美团做为一个团购平台最宝贵的财富。通过对这些数据的分析和挖掘,不仅能给美团业务发展方向提供决策支持,也为业务的迭代指明了方向。目前在美团的团购系统中大量地应用到了机器学习和数据挖掘技术,例如个性化推荐、筛选排序、搜索排序、用户建模等等,为公司创造了巨大的价值。

本文主要介绍在美团的推荐与个性化团队实践中的数据清洗与特征挖掘方法。主要内容已经在内部公开课”机器学习InAction系列”讲过,本博客的内容主要是讲座内容的提炼和总结。

如上图所示是一个经典的机器学习问题框架图。数据清洗和特征挖掘的工作是在灰色框中框出的部分,即“数据清洗=>特征,标注数据生成=>模型学习=>模型应用”中的前两个步骤。灰色框中蓝色箭头对应的是离线处理部分。主要工作是-从原始数据,如文本、图像或者应用数据中清洗出特征数据和标注数据。-对清洗出的特征和标注数据进行处理,例如样本采样,样本调权,异常点去除,特征归一化处理,特征变化,特征组合等过程。最终生成的数据主要是供模型训练使用。

灰色框中绿色箭头对应的是在线处理的部分。所做的主要工作和离线处理的类似,主要的区别在于1.不需要清洗标注数据,只需要处理得到特征数据,在线模型使用特征数据预测出样本可能的标签。2.最终生成数据的用处,最终生成的数据主要用于模型的预测,而不是训练。在离线的处理部分,可以进行较多的实验和迭代,尝试不同的样本采样、样本权重、特征处理方法、特征组合方法等,最终得到一个最优的方法,在离线评估得到好的结果后,最终将确定的方案在线上使用。另外,由于在线和离线环境不同,存储数据、获取数据的方法存在较大的差异。例如离线数据获取可以将数据存储在Hadoop,批量地进行分析处理等操作,并且容忍一定的失败。而在线服务获取数据需要稳定、延时小等,可以将数据建入索引、存入KV存储系统等。后面在相应的部分会详细地介绍。

本文以点击下单率预测为例,结合实例来介绍如何进行数据清洗和特征处理。首先介绍下点击下单率预测任务,其业务目标是提高团购用户的用户体验,帮助用户更快更好地找到自己想买的单子。这个概念或者说目标看起来比较虚,我们需要将其转换成一个技术目标,便于度量和实现。最终确定的技术目标是点击下单率预估,去预测用户点击或者购买团购单的概率。我们将预测出来点击或者下单率高的单子排在前面,预测的越准确,用户在排序靠前的单子点击、下单的就越多,省去了用户反复翻页的开销,很快就能找到自己想要的单子。离线我们用常用的衡量排序结果的AUC指标,在线的我们通过ABTest来测试算法对下单率、用户转化率等指标的影响。

在确定好要使用哪些数据之后,我们需要对使用数据的可用性进行评估,包括数据的获取难度,数据的规模,数据的准确率,数据的覆盖率等,-数据获取难度例如获取用户id不难,但是获取用户年龄和性别较困难,因为用户注册或者购买时,这些并不是必填项。即使填了也不完全准确。这些特征可能是通过额外的预测模型预测的,那就存在着模型精度的问题。-数据覆盖率数据覆盖率也是一个重要的考量因素,例如距离特征,并不是所有用户的距离我们都能获取到。PC端的就没有距离,还有很多用户禁止使用它们的地理位置信息等。用户历史行为,只有老用户才会有行为。用户实时行为,如果用户刚打开app,还没有任何行为,同样面临着一个冷启动的问题。-数据的准确率单子质量,用户性别等,都会有准确率的问题。

Ok,在选定好要用的特征之后,我们需要考虑一个问题。就是这些数据从哪可以获取?只有获取了这些数据我们才能用上。否则,提一个不可能获取到的特征,获取不到,提了也是白提。下面就介绍下特征获取方案。-离线特征获取方案离线可以使用海量的数据,借助于分布式文件存储平台,例如HDFS等,使用例如MapReduce,Spark等处理工具来处理海量的数据等。

出于性能考虑。在粗排阶段,使用更基础的特征,数据直接建入索引。精排阶段,再使用一些个性化特征等。

特征数据只有在和标注数据合并之后,才能用来做为模型的训练。下面介绍下如何清洗标注数据。主要是数据采样和样本过滤。

数据采样,例如对于分类问题:选取正例,负例。对于回归问题,需要采集数据。对于采样得到的样本,根据需要,需要设定样本权重。当模型不能使用全部的数据来训练时,需要对数据进行采样,设定一定的采样率。采样的方法包括随机采样,固定比例采样等方法。

除了采样外,经常对样本还需要进行过滤,包括-1.结合业务情况进行数据的过滤,例如去除crawler抓取,spam,作弊等数据。-2.异常点检测,采用异常点检测算法对样本进行分析,常用的异常点检测算法包括-偏差检测,例如聚类,最近邻等。-基于统计的异常点检测算法例如极差,四分位数间距,均差,标准差等,这种方法适合于挖掘单变量的数值型数据。全距(Range),又称极差,是用来表示统计资料中的变异量数(measuresofvariation),其最大值与最小值之间的差距;四分位距通常是用来构建箱形图,以及对概率分布的简要图表概述。-基于距离的异常点检测算法,主要通过距离方法来检测异常点,将数据集中与大多数点之间距离大于某个阈值的点视为异常点,主要使用的距离度量方法有绝对距离(曼哈顿距离)、欧氏距离和马氏距离等方法。-基于密度的异常点检测算法,考察当前点周围密度,可以发现局部异常点,例如LOF算法

在分析完特征和标注的清洗方法之后,下面来具体介绍下特征的处理方法,先对特征进行分类,对于不同的特征应该有不同的处理方法。

根据不同的分类方法,可以将特征分为(1)Lowlevel特征和Highlevel特征。(2)稳定特征与动态特征。(3)二值特征、连续特征、枚举特征。

Lowlevel特征是较低级别的特征,主要是原始特征,不需要或者需要非常少的人工处理和干预,例如文本特征中的词向量特征,图像特征中的像素点,用户id,商品id等。Lowlevel特征一般维度比较高,不能用过于复杂的模型。Highlevel特征是经过较复杂的处理,结合部分业务逻辑或者规则、模型得到的特征,例如人工打分,模型打分等特征,可以用于较复杂的非线性模型。Lowlevel比较针对性,覆盖面小。长尾样本的预测值主要受highlevel特征影响。高频样本的预测值主要受lowlevel特征影响。

在对特征进行分类后,下面介绍下对特征常用的处理方法。包括1.特征归一化,离散化,缺省值处理。2.特征降维方法。3.特征选择方法等。

在介绍特征降维之前,先介绍下特征升维。在机器学习中,有一个VC维理论。根据VC维理论,VC维越高,打散能力越强,可容许的模型复杂度越高。在低维不可分的数据,映射到高维是可分。可以想想,给你一堆物品,人脑是如何对这些物品进行分类,依然是找出这些物品的一些特征,例如:颜色,形状,大小,触感等等,然后根据这些特征对物品做以归类,这其实就是一个先升维,后划分的过程。比如我们人脑识别香蕉。可能首先我们发现香蕉是黄色的。这是在颜色这个维度的一个切分。但是很多东西都是黄色的啊,例如哈密瓜。那么怎么区分香蕉和哈密瓜呢?我们发现香蕉形状是弯曲的。而哈密瓜是圆形的,那么我们就可以用形状来把香蕉和哈密瓜划分开了,即引入一个新维度:形状,来区分。这就是一个从“颜色”一维特征升维到二维特征的例子。

那问题来了,既然升维后模型能力能变强,那么是不是特征维度越高越好呢?为什么要进行特征降维&特征选择?主要是出于如下考虑:1.特征维数越高,模型越容易过拟合,此时更复杂的模型就不好用。2.相互独立的特征维数越高,在模型不变的情况下,在测试集上达到相同的效果表现所需要的训练样本的数目就越大。3.特征数量增加带来的训练、测试以及存储的开销都会增大。4.在某些模型中,例如基于距离计算的模型KMeans,KNN等模型,在进行距离计算时,维度过高会影响精度和性能。5.可视化分析的需要。在低维的情况下,例如二维,三维,我们可以把数据绘制出来,可视化地看到数据。当维度增高时,就难以绘制出来了。在机器学习中,有一个非常经典的维度灾难的概念。用来描述当空间维度增加时,分析和组织高维空间,因体积指数增加而遇到各种问题场景。例如,100个平均分布的点能把一个单位区间以每个点距离不超过0.01采样;而当维度增加到10后,如果以相邻点距离不超过0.01小方格采样单位超一单位超正方体,则需要10^20个采样点。

正是由于高维特征有如上描述的各种各样的问题,所以我们需要进行特征降维和特征选择等工作。特征降维常用的算法有PCA,LDA等。特征降维的目标是将高维空间中的数据集映射到低维空间数据,同时尽可能少地丢失信息,或者降维后的数据点尽可能地容易被区分-PCA算法通过协方差矩阵的特征值分解能够得到数据的主成分,以二维特征为例,两个特征之间可能存在线性关系(例如运动的时速和秒速度),这样就造成了第二维信息是冗余的。PCA的目标是发现这种特征之间的线性关系,并去除。

主要分为产生过程,评估过程,停止条件和验证过程。

其他如双向搜索(BDS,BidirectionalSearch),序列浮动选择(SequentialFloatingSelection)等

随机算法共同缺点:依赖随机因素,有实验结果难重现。

在发现特征出现异常时,我们会及时采取措施,对服务进行降级处理,并联系特征数据的提供方尽快修复。对于特征数据生成过程中缺乏监控的情况也会督促做好监控,在源头解决问题。

THE END
1.数据分析中的数据清洗方法策略数据清洗策略csdn而数据清洗后的数据则可以更有效的进行数据探索。本文重点讲解数据清洗的一些方法和注意事项。接下来,介绍数据清洗的三个重要部分:异常值判别、缺失值处理以及格式内容清洗。一.异常值判别 数据清洗的第一步是识别会影响分析结果的“异常”数据,然后判断是否剔除。异常值通常有以下几个表现:(1)缺乏完整性 完整性即https://blog.csdn.net/qq_22201881/article/details/142056502
2.数据清洗的概念常见问题及实践方法数据已成为企业和组织决策的重要依据,然而,原始数据往往存在各种质量问题,如缺失值、错误值、重复数据等,这些问题严重影响了数据分析的准确性和可靠性。数据清洗作为数据预处理的关键环节,能够有效地解决这些问题,为后续的数据分析和挖掘打下坚实的基础。 今天,让我们一起了解数据清洗的概念、常见问题及实践方法。 https://maimai.cn/article/detail?fid=1845410370&efid=UWMlhrm_pBYg7QMnqTj5OA
3.数据清洗涵盖了哪些方面?探索数据处理的全貌与重要步骤数据清洗是债券市场最近暴跌原因数据处理过程中不可或缺的重要步骤。随着数据量的增加和数据来源的多样化,原始数据往往包含大量的噪音、缺失值或异常数据,这些问题会严重影响数据分析的结果和结论的准确性。 通过数据清洗,可以有效地识别和处理数据中的各种问题,提高数据的质量和完整性。良好的数据清洗实践不仅能够确保数据https://www.zhaocaifu.cn/article/99497.html
4.数据清洗的概念常见问题及实践(数据清洗)数据已成为现代企业和组织决策的重要依据。然而,原始数据往往存在各种问题,如缺失值、错误值、重复数据等,这些问题会严重影响数据分析的准确性和可靠性。数据清洗作为数据预处理的关键环节,发现并纠正数据集中的错误和不一致信息,为后续的数据分析和挖掘打下坚实的基础。本文探讨数据清洗的概念、必要性、常见问题、实践方https://www.hypers.com/content/archives/5287
5.数据分析中的数据清洗指什么数据清洗是指在进行数据分析前,对原始数据进行处理,去除数据集中的错误、缺失、重复、不一致等问题,以确保数据的质量和准确性。它直接影响到后续分析结果的准确性和可信度。 一、数据清洗的步骤 1.确定数据清洗的目标和方法 在进行数据清洗前,需要明确数据清洗的目标和方法。根据数据类型、数据来源、实际情况等,选择https://www.linkflowtech.com/news/1071
6.数据分析怎样进行数据清洗?详细讲解数据清洗的基本流程一共分为5个步骤,分别是数据分析、定义数据清洗的策略和规则、搜寻并确定错误实例、纠正发现的错误以及干净数据回流。下面通过一张图描述数据清洗的基本流程,具体如图所示。 接下来针对图中数据清洗的基本流程进行详细讲解。 1.数据分析 http://go.itcast.cn/news/20220830/1830418088.shtml
7.数据分析工作总结(精选9篇)在日常的数据分析工作中,我经常需要对原始数据进行清洗和处理,以确保数据的准确性和一致性。我采用了多种数据清洗和处理方法,如去重、填充缺失值、数据类型转换等,确保了数据的完整性和可靠性。 数据可视化与分析: 数据可视化是数据分析的重要环节之一,我能够熟练地使用各种数据可视化工具,如Excel、Tableau等,将数据转化https://www.ruiwen.com/word/shujufenxigongzuozongjie.html
8.数据清洗的关键指标分析方法袋鼠社区数据清洗是数据分析过程中不可或缺的一步,它的目的是从原始数据中去除噪声、异常值和缺失值等,以提高数据的质量和准确性。在数据清洗的过程中,关键指标分析方法是非常重要的,它可以帮助我们更好地了解数据的特点和问题,从而选择合适的清洗方法和策略。本文将从以下几个方面介绍数据清洗的关键指标分析方法。 一、描述https://www.dtstack.com/bbs/article/12699
9.数据清洗发展趋势分析(30页)数据清洗发展趋势分析.pptx,数据清洗发展趋势分析数智创新 变革未来 数据清洗定义与背景介绍 数据质量问题和清洗必要性 数据清洗技术分类与特点 数据清洗工具与市场概况 数据清洗流程与步骤详解 数据清洗应用场景与案例 数据清洗挑战与未来发展 结论与建议目录页Contents Pahttps://max.book118.com/html/2023/1228/6043203100010025.shtm
10.数据分析常见术语绝对数:是反应客观现象总体在一定时间、一定地点下的总规模、总水平的综合性指标,也是数据分析中常用的指标。比如年GDP,总人口等等。 相对数:是指两个有联系的指标计算而得出的数值,它是反应客观现象之间的数量联系紧密程度的综合指标。相对数一般以倍数、百分数等表示。相对数的计算公式: https://meta.ecnu.edu.cn/76/b3/c35753a423603/page.htm
11.二手车数据分析excel篇1.7异常值处理:利用透视表把不符合条件的数据删除 以下为数据清洗后的结果,这样数据看上去就舒服多了 四、数据分析及简单的可视化展示 1、对整体数据的初步分析 1)变速箱类别 从整体数据进行分析,自动挡占比为93.55%,手动挡占比为6.45%。数据表明二手车市场中大部分是以自动挡为主的,只有少部分是手动挡; https://www.yoojia.com/ask/17-11354469621472179095.html
12.机器学习中的数据清洗与特征处理综述机器学习中的数据清洗与特征处理综述 收藏 机器学习中的数据清洗与特征处理综述 背景 随着美团交易规模的逐步增大,积累下来的业务数据和交易数据越来越多,这些数据是美团做为一个团购平台最宝贵的财富。通过对这些数据的分析和挖掘,不仅能给美团业务发展方向提供决策支持,也为业务的迭代指明了方向。目前在美团的团购系统http://api.cda.cn/view/8897.html
13.大数据应用导论Chapter1大数据技术与应用概述2、MongoDB:介于关系型数据库和非关系型数据库之间的产品,功能丰富;基于分布式文件存储数据库,由C++编写。 3、Redis:一个日志型、高性能Key-Value数据库,数据可以从主服务器向任意数量的从服务器同步。 2、数据清洗与分析 1、数据清洗 数据清洗:为了便于后续的处理和分析,对数据进行的质量诊断、数据整合、数据转换https://cloud.tencent.com/developer/article/1733234
14.大数据应用导论Chapter02大数据的采集与清洗大数据的处理主要是对数据的清洗,将其转化为可利用的数据目标,数据科学家约60%的时间都在进行数据清洗工作。 数据清洗是对数据进行转换、缺失处理、异常处理等。数据清洗可以提高数据的质量,提高数据分析的准确性。 数据清洗一般在大数据分析流程中的第三步: https://blog.51cto.com/14683590/5236225
15.数据分析的八个流程2、数据获取; 3、数据清洗; 4、数据整理; 5、描述分析; 6、将数据展现和输出; 7、洞察结论; 8、报告撰写。 1、目标的确定 这一步在工作中通常是由你的客户/上级/其他部门同事/合作方提出来的,但第一次的数据报告中,需要你自己来提出并确定目标。 https://36kr.com/p/1491281074089859
16.如何处理和分析问卷数据?来看京东设计师的实战经验!问卷数据处理需要的工具 问卷数据清洗常用思路 问卷数据分析常用维度 问卷数据解读常用维度 本文整体结构 工具:该用什么来处理数据? 其实进行基础的描述性统计与交叉分析时,Excel 和 Spss 这两款工具都有相对应的功能可以实现,大家可以根据平时的使用习惯自行选择。 https://www.uisdc.com/questionnaire-data-analysis/
17.机器学习实战机器学习特征工程最全解读定量数据:指的是一些数值,用于衡量数量与大小。 例如高度,长度,体积,面积,湿度,温度等测量值。 定性数据:指的是一些类别,用于描述物品性质。 例如纹理,味道,气味,颜色等。 如下图是两类数据示例以及它们常见的处理分析方法的总结: 2.数据清洗 实际数据挖掘或者建模之前,我们会有「数据预处理」环节,对原始态的数据https://developer.aliyun.com/article/891367