问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

数据预处理·数据清理

创作时间:
作者:
@小白创作中心

数据预处理·数据清理

引用
CSDN
1.
https://blog.csdn.net/m0_67656158/article/details/142934995

数据预处理是数据科学中的重要环节,其中数据清理是确保数据质量的关键步骤。本文将详细介绍数据预处理的原因、脏数据的定义、数据预处理的分类以及具体的数据清理方法(如数据填充和噪声处理)。

1. 前言

本系列专栏专注于数据处理和数据分析,其中的《数据科学导论》部分是对整个大数据科学所有技术(包括数据处理、数据分析)的一个概论,适用于想要快速入门大数据的读者。

《数据科学导论》整体学习脉络如下:

  1. 数据科学导论——研究数据科学
  2. 数据科学——研究大数据处理
  3. 大数据处理过程——采集、表示与存储、预处理、建模分析、可视化、决策
  4. 大数据处理过程指导数据科学导论内容

《数据科学导论》持续更新中。

2. 为什么要进行数据预处理

2.1 预处理原因

从联系观点看:需要预处理是因为1、数据价值大,但价值密度低;2、数据来源多样。由于数据这两个特点,导致我们必须对数据进行处理才可以挖掘数据中的价值。

直接来看:
数据预处理存在是因为:
1、有脏数据
2、脏数据不可避免性
3、没有高质量数据,就没有高质量的结果

数据质量的定义(记忆):

  • 完整性
  • 一致性
  • 正确性
  • 可靠性

2.2 脏数据

脏数据 :在数据挖掘工作中,脏数据是指数据来源不同、不完整、含噪声、不一致的数据

  • 不完整:有些数据属性的值丢失或不确定;缺失必要数据,例:缺失学生成绩
  • 不准确:属性值错误,例:成绩 = -10;
  • 噪声数据:包含孤立(偏离期望)的离群 不一致,数据结构有较大差异;
  • 存在数据重复和信息冗余现象:数据需求改动,例,评价等级:“百 分制”与“A, B, C”

数据预处理占大数据分析挖掘的工作中的80%

2.3 数据预处理分类

分类:
数据清理,数据集成,数据变换,数据规约

目的:
在数据特性以及脏数据存在的前提下,通过上面四个方法来提高数据质量,让数据为我们所使用

具体内容:

1. 数据清理(Data Cleaning)

从可靠性、正确性、一致性、完整性出发去清理

  • 缺失值处理——完整性
  • 修正错误数据——正确性
  • 标准化数据——一致性

定义:数据清理是指识别和修正数据集中的错误或不一致性,以提高数据质量的过程。

主要任务:

  • 处理缺失值:填补缺失值、删除缺失记录或使用插值等方法处理缺失数据。
  • 去除重复数据:检测并删除重复的记录,以确保数据的唯一性。
  • 修正错误:发现并纠正数据中的错误(如拼写错误、格式不一致等)。
  • 标准化数据:将数据转换为一致的格式(例如,日期格式、单位等)。

重要性:数据清理确保数据的准确性和可靠性,提高后续分析和建模的有效性。

2. 数据集成(Data Integration)

定义:数据集成是将来自不同来源的数据组合成一个一致的整体,以便于统一管理和分析。

主要任务:

  • 数据来源整合:将不同来源的数据(如数据库、文件、API等)合并到一个集中的数据仓库或数据集。
  • 解决数据冗余:消除不同数据源中相同信息的冗余,确保数据一致性。
  • 格式转换:统一不同数据格式,以便于后续处理和分析。

重要性:数据集成提供了更全面的视角,使得分析更具深度和广度,有助于发现隐藏的关系和模式。

3. 数据变换(Data Transformation)

定义:数据变换是对数据进行操作和转换,以使其更适合分析和建模的过程。

主要任务:

  • 数据缩放:如归一化或标准化,将数据调整到相同的范围或分布。
  • 特征工程:创建新特征或选择重要特征,以提高模型的性能。
  • 编码分类变量:将分类变量转换为数值形式(如独热编码)。
  • 数据聚合:将数据汇总(如按时间段求和或平均)以减少数据量。

重要性:数据变换可以提高分析的有效性,帮助模型更好地理解数据特征。

4. 数据规约(Data Reduction)

定义:数据规约是通过减少数据量的方式来降低数据集的复杂性,同时尽可能保留数据的重要特征。

主要任务:

  • 特征选择:选择最具代表性的特征,去除冗余和不相关的特征。
  • 数据抽样:从大数据集中随机抽取样本,以减小数据集的大小。
  • 数据压缩:使用压缩技术(如主成分分析PCA)减少数据维度。

重要性:数据规约提高了处理效率,减少了存储需求,有助于加速后续分析和模型训练过程。

2. 数据清理

数据清理:
清洗数据,由于数据中存在脏数据,因此这里我们就需要对数据进行清洗。清洗掉数据中不完整、不一致、不正确的脏数据。(记忆这个可以结合:数据质量的四大标准)

  • 不完整:数据填充
  • 不一致:检查并除去不一致的数据,再用数据填充来填充
  • 不正确:存在噪声数据,因此需要处理噪声

总结,数据清理中的方法有:

  1. 数据填充
  2. 数据删除
  3. 噪声处理

2.1 数据填充

2.1.1 数据缺失的类型

  1. 完全随机缺失(Missing Completely at Random, MCAR)

定义:完全随机缺失是指缺失值的出现与任何观测到的或未观测到的变量无关。这意味着缺失的值完全是随机的,任何样本的缺失都不会引起样本的偏倚。

特征:

  • 缺失的发生是完全随机的。
  • 例如,一个调查问卷中,有些人可能因为个人原因未回答某个问题,但这与他们的其他回答或特征无关。

影响:

  • 在MCAR情况下,数据缺失不会影响样本的无偏性,处理这些缺失值(如删除缺失记录)通常是安全的。
  1. 随机缺失(Missing at Random, MAR)

定义:随机缺失是指缺失值的出现与观测到的其他变量有关,但与缺失值本身无关。也就是说,缺失的发生可以通过其他可观察到的变量进行解释。

示例:

  • 例如,“期末成绩”可能依赖于“平时表现”。如果学生的期末成绩缺失,与他们的平时表现有关,那么这就是随机缺失。
  • 另一个例子是“工资”数据可能与“人群背景”有关。如果某些特定背景的个体不愿意报告其工资,这种缺失是随机的,但与人群背景有关。

影响:

  • 在MAR情况下,缺失的数据可能会导致偏倚,尤其是在不加以处理的情况下。然而,使用适当的方法(如插补、模型估计)可以减轻这种偏倚的影响。
  1. 非随机缺失(Missing Not at Random, MNAR)

定义:非随机缺失是指缺失值的发生与缺失值本身的特征有关。这意味着缺失数据的产生是由该数据本身的属性或变量引起的。

示例:

  • 比如在工资调查问卷中,低收入人群可能不愿意提供其工资信息。这种情况下,缺失值与缺失的数据(工资)本身有关,因此是非随机缺失。

影响:

  • MNAR会导致样本的显著偏倚,处理这类缺失数据更加复杂,简单的删除或插补方法可能无法解决问题。通常需要更复杂的模型(如结构方程模型)来进行分析。

完全随机缺失:缺失的样本在所有样本中是随机分布的,因此不影响整体样本的分布。

非随机缺失:缺失的样本仅仅和本身的值/属性有关系,不是随机分布的。直接删除会导致整体样本偏倚,同时又不好通过插补、挖掘其他属性等方法来填充。

随机缺失:缺失样本同样也是在整体样本中随机分布,删除不影响整体样本分布。同时该类样本/属性和其他样本/属性存在联系,可以通过其他样本/属性结合插补等方法来修复样本。

从上面分析可以得出结论:

  1. 完全随机缺失:直接数据删除,无法修补
  2. 随机缺失:可以修补,删除也对数据影响不大
  3. 非随机缺失:直接删除影响原本样本的分布,但是不好修补

数据填充研究重点:随机缺失数据

2.1.2 数据填充方法

特殊值填充:

  • 空值填充,不同于任何属性值。例,NLP词表补0(保证每个词表长度相同),DL补mask(提高模型泛化能力,不然模型看到所有的输入)
  • 样本/属性的均值、中位数、众数填充

使用最可能的数据填充:

  • 热卡填充(找相似的样本,并就近补齐)
  • K最近距离法(KNN聚类,找最近的K个相似的样本,并加权平均估计样本缺失数据)机器学习算法之——K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解 - 知乎
  • 利用回归等估计方法(基于数据集建立回归方程模型)【机器学习基础入门】2.线性回归与成本函数_线性回归模型流程图-CSDN博客
  • 期望值最大化方法(EM算法)EM算法详解+通俗例子理解_em算法实例-CSDN博客【机器学习】EM算法详细推导和讲解 - BigMoyan - 博客园

对于EM算法简单解释如下:
1、随机分布参数,根据分布参数对空间中的点进行分类。
2、分类后再分布拟合这两个类别,得到新的两个分布参数。因为新的分布考虑了点在空间中的分布这一信息,因此新的分布参数必然优秀于原本随机的分布参数。
3、再用新的分布参数重新对点进行分类(因为之前那个分类准确度必然低于这个)
4、重复前面的过程。直到分布参数收敛

2.2 处理噪声

噪声是测量误差的随机部分

  • 包括错误值,
  • 偏离期望的孤立点值

噪声处理的核心:数据平滑

2.2.1 分箱

利用近邻数据对数据进行平滑,步骤如下:

  1. 排序数据,并将他们分到等深的箱中
  2. 按箱平均值平滑、按箱中值平滑、按箱边界平滑等(离散化)

2.2.2 回归

回归模型可以做缺失值填充,也可以做数据平滑,同个道理,把噪声数据用回归模型预测数据替代
步骤如下:
1、将噪声数据去除
2、利用剩下的数据建立回归模型
3、利用回归模型预测噪声点处的数据,用预测数据替代噪声数据

2.2.3 聚类

1、利用k-means等聚类算法,聚合出几个类别
2、不在聚类类别中的值都是噪声
3、判断噪声离哪个聚类类别近,用该聚类类别的中心代替噪声值

3. 总结

本篇主要着手于数据处理中的数据清洗
数据处理:数据清洗、数据集成、数据变换、数据规约
其中数据清洗就是清洗脏数据,包括数据填充噪声处理数据删除

本文到这里就结束啦~~
期待您的关注~~
猫猫陪你永远在路上

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号