数据预处理的主要内容
笔记来源《Python数据分析与挖掘实战》0~
数据清洗
主要是删除原始数据集中的无关数据、重复数据,平滑噪声数据,筛选掉与目的无关的数据,处理缺失值、异常值等。
缺失值
处理的方法一般有三种:删除记录、数据插补、不处理。直接删除会浪费和丢弃大量隐藏的信息,可能会影响到分析结果的客观性和正确性。
常用的插补方法有:
- 均值、中位数、众数插补
- 用固定值,如官方出具的一些标准数据
- 最近邻插补
- 回归插补,如建立模型来拟合已有数据
- 插值法,如拉格朗日插值法、牛顿插值法、分段插值法等,其中拉格朗日法在python的Scipy库中有现成的函数可以调用1,牛顿插值法就需要自己编写代码了。
异常值
异常值处理的方法主要有:删除记录、将其视为缺失值【这样可以利用已有的信息来填补】、用平均值修正、不处理【直接在有异常值的数据集上建模】。
数据集成
数据集成即:将多个不同的数据源合并存放在一个一致的数据存储(如数据仓库)中的过程。
因为数据往往分布在不同的数据源中, 来自多个数据源的现实世界实体的表达形式不一样,有可能不匹配,所以要考虑实体识别问题和属性冗余问题,从而将源数据在最底层上加以转换、提炼和集成。
实体识别
实体识别是指从不同数据源识别出现实世界的实体,它的任务是统一不同源数据的矛盾之处,常见形式有:
- 同名异义
数据源A中的属性ID和数据源B中的属性ID分别描述的是菜品编号和订单编号,即描述的是不同的实体。 - 异名同义
数据源A中的sales_dt和数据源B中的 sales_date 都是描述销售日期的,即A.sales_dt=B.sales date。 - 单位不统一
描述同一个实体分别用的是国际单位和中国传统的计量单位。
检测和解决这些冲突就是实体识别的任务。
冗余属性识别
数据集成往往导致数据冗余,例如:
- 同一属性多次出现;
- 同一属性命名不一致导致重复。
仔细整合不同源数据能减少甚至避免数据冗余与不一致,从而提高数据挖掘的速度和质量。对于冗余属性要先分析,检测到后再将其删除。
有些冗余属性可以用相关分析检测:给定两个数值型的属性A和B,根据其属性值,用相关系数度量一个属性在多大程度上蕴含另一个属性。
数据变换
简单函数变换
这种变换一般用来将不具有正态分布的数据变换成具有正态分布的数据,还有就是将非平稳时间序列转换为平稳的时间序列。
比如取对数啦、平方、开方啦、差分等。
时间序列里面一般常用差分、取对数这种方法来构造平稳序列。
取对数还可以用来压缩一些范围很大的区间,比如[10,10000000000],这个区间属实不好用于分析,可以先做个对数处理压缩一下区间。
归一化
这种变换一般是来消除 指标之间的量纲和取值范围差异 的影响。
- 最小最大归一化,即离差标准化:
- 标准差标准化
- 小数定标规范化
连续属性离散化
将连续属性变成分类属性,因为有些分类算法需要数据是分类属性形式的。
属性构造
小波变换(不太了解,故不想做笔记)
数据规约
属性规约
附加一个主成分分析的官方链接
数值规约
导入的语句:from scipy.interpolate import lagrange ↩︎
标签:--,数据源,变换,规约,数据,预处理,冗余,属性 来源: https://blog.csdn.net/yueyueyue8/article/details/118573568
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。