数据挖掘:数据处理概念
一、什么是数据预处理?
通常我们获得的数据中会包含缺失值、重复值等异常值,在分析过程中需要进行数据预处理。它是一套对数据进行操作的方法体系。
由于缺乏统一的标准流程,在实际应用中通常因具体任务和数据集特性而异。包括以下常用流程:
数据清洗的作用在于去除数据中的噪声并修正不一致的问题。
数据集成的过程涉及将来自多个不同来源的数据整合为一个统一的存储结构,并构建了一个统一的数据仓库。
数据归约可以通过聚合操作、剔除冗余特征或采用聚类方法来减少大量冗余信息。
数据变换(例如标准化处理)能够将数值压缩至特定区间范围之内,在这里我们采用了0.0到1.0的标准区间。
原始数据所面临的主要问题包括:存在不一致的情况;出现重复记录;包含噪声干扰;以及维度数量过高等多方面的问题。
二、数据清洗
一般数据清洗包括:
缺失数据 异常数据 数据噪声 数据不平衡 唯一性问题 重复数据 格式化清理 思维过程 前面提到的前四个已经在之前的讨论中详细阐述过,请继续关注接下来将要介绍的后四个处理方法。
缺失值处理
异常值处理
数据噪声处理
数据不平衡处理
2.1 唯一值
如所有数据中的id属性都具有相同的值,则该特征对预测结果没有意义,则建议删除该列的数据
并非所有的数据id都具有无足轻重的意义。假如一个id对应的数据量较大,则不宜直接删除该id;相反应当对每一个单独存在的数据进行细致分析。将每一个id视为一个独立的数据集合来进行深入分析,并计算出该组数据的均值、中位数、标准差、峰度和偏度等统计指标来全面描述其分布特征。通过这些计算得到一系列关键指标后,在特定的应用场景下决定是否执行这一操作
2.2 重复值
冗余的数据被视为无价值的信息,在增加总体数据量的同时并未提升信息含量。通常情况下会采取删除的方式去除这些多余信息。在pandas中可以通过函数df.drop_duplicates(inplace=True)来实现这一操作。
链接:pandas重复值处理
通常情况下获取的数据往往杂乱无章。其中有些数值型数据虽然带有时间字段但以字符串形式存在且与预期的数据类型不匹配。当这种情况发生时,则需先将数据类型统一以便后续运算
在pandas中可以使用astype(数据类型参数)完成数据转换操作,或者调用to_numeric()函数完成数值转换
2.3.2 时间信息、日期信息、数值信息以及全角和半角显示格式不一致的问题常见于输入端,在整合多来源数据时也可能出现在整合过程中。通过统一调整为特定的一致格式即可解决
2.3.3 字符问题
某些信息仅包含部分特定字符。例如,在身份号码中通常会包含数字与字母组合(在中国人姓名中常见的是由汉字组成的情况),而像"赵C"这样的例外情况较为少见。最常见的问题出现在开头、结尾以及中间的位置,并且在实际操作中可能会遇到以下情况:一是姓名中含有数字与其他符号;二是身份号码中可能出现汉字。对于这些情况的处理方式通常是结合半自动化手段与人工干预相结合。
2.3.4 思维逻辑
这个概念相对抽象,在初步接触时可能会让人感到难以理解。为了更好地掌握这一概念,请通过实际案例来理解它。例如,在分析电影票房时会遇到类似的问题:由于通货膨胀的影响,直接使用原始票房数据可能会导致分析结果失真;因此,在进行数据分析之前必须对数据进行适当的处理和转换(即进行单位转换),这样才能确保后续分析的有效性与准确性。这表明,在数据分析过程中合理的预处理工作至关重要:只有经过充分的数据清洗与特征工程工作才能为模型的构建与应用打下坚实的基础;而如果这些基础工作做得不到位,则无论模型有多先进都难以取得理想的效果。因此,在实际工作中需要将大量时间投入于数据清洗与特征工程这两个关键环节;而模型本身的构建则更多依赖于对其原理的理解以及熟练运用现有的工具包进行搭建与优化。
三、数据集成
数据集成是指将分布在多个不同系统的大量结构化或非结构化原始数据进行采集、存储、转换与治理等处理过程,并通过多维度分析挖掘潜在价值并形成综合性的知识库体系的技术与方法。构建企业级的数据仓库本质上就是实现多源数据的有效整合。
数据集成中的两个主要问题是:
数据结构方面,在进行多个数据集之间的匹配过程中需要注意各数据库间的关联性;
当一个数据库中的某个属性与另一个数据库中的相应属性存在名称差异但内容相同时,则该特定属性可被视为冗余;
链接处:涉及的数据集成概念;
四、数据归约
在尽量保持原有数据特征的基础上, 最大限度地精简数据规模
在实际应用中,数据量通常非常庞大,在这种情况下进行数据分析若仅基于少量样本可能耗时过长。为此引入了数据归约技术以获得具有相似完整性的简明表示形式。该方法通过减少数据维度从而显著降低了计算复杂度但仍能有效保持原始信息的关键特征与分析结果的一致性特性。主要的归约方式包括维度归约与数值归约两大类
数据压缩技术通过更简短的形式替代原有的大量数据。具体的方法包括对数线性回归、聚类分析和抽样等。
链接:数据规约详细介绍
五、数据变换 采用平滑聚集方法对原始数据进行处理,并结合数据概化技术以及规范化方法等手段将原始数据转化为适合于后续数据分析与挖掘的形式。例如,在线性回归分析中通常会对特征变量执行归一化或标准化处理以消除不同变量之间的量纲差异问题;经过这种预处理后能够显著提升模型性能;而对于基于树模型的数据分析则通常不需要进行类似的预处理步骤
光顺:去除噪声;
特征提取:从现有属性中生成新的特征并将其加入数据集。例如,在"销售额"和"成本"的基础上计算"利润"这一指标,则只需对方差进行简单的数学运算即可完成;
聚合:将多个相关联的数据点进行汇总分析;
归一化:将数值按比例缩放;
离散化:将连续型数值转换为分类标签形式;
六、总结
此前我对数据分析与预处理的概念较为模糊。通过查阅不同资料后发现,在某些文献中这些概念之间的界限并不明确。“特征工程”的定义有时会包含在其他概念之下。
在此阶段我认为应将预处理过程划分为两个主要阶段:首先是针对脏杂乱数据的具体清洗操作(即所谓的"数据清理"),而后是对原始特征求取与建模相关的各种特征(即所谓的"特征工程")。这种划分有助于使后续的数据建模流程更加条理分明。
值得注意的是:
在实际应用中数据分析的方法种类繁多,在实际操作过程中未必都会被采用。
关键在于根据具体的数据特点以及目标需求选择最适合的方法。
切勿强求所有方法都要一次性应用于同一项目。
模型算法的选择同样要根据具体情况具体分析,
不存在一种万能的方法适用于所有场景。
以上总结归结于以下要点:
只有亲自动手处理才能真正掌握这些方法论。
而各种方法的具体应用条件也是在不断的数据探索与模型训练过程中逐步摸清的。
这也是数据分析领域最大的难点之一,
但也是它最富有魅力的地方所在。
七、参考文献
https://baike.baidu.com/item/数据预处理/2711288?fr=aladdin
————————————————
版权声明:本文为博主「AvenueCyy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:
