数据预处理主要包括数据清洗、数据集成、数据变换和数据规约四个部分。
1、数据清洗:删除原始数据集中的无关数据、重复数据、平滑噪声数据,处理缺失值、异常值等。
数据清洗的步骤:
(1)缺失值处理(通过describe与len直接发现、通过0数据发现)
(2)异常值处理(通过散点图发现)
一般遇到缺失值,处理方式为:删除、插补、不处理
插补的方式主要有:均值插补、中位数插补、众数插补、固定值插补、最近数据插补、回归插补、插值法等等。
一般遇到异常值,一般处理方式为:视为缺失值、删除、修补(平均数、中位数等等)。
实例:Python数据分析学习笔记(4)数据探索与清洗实战
2、数据集成:将多个数据源合并存在一个一致的数据存储中,要考虑实体识别问题和属性冗余问题,从而将数据在最低层上加以转换、提炼和集成。
实例:Python数据分析学习笔记(1)numpy模块基础入门 (最后一部分)
3、数据变换:即对数据规范化处理,主要包括以下几种:
(1)简单函数变换。(2)数据规范化。(3)数据离散化。(4)属性构造。
简单函数变换的常见方法:平方、开方、对数、差分运算等。
数据规范化的常见方法:
1)离差标准化(最小-最大标准化)--消除量纲(单位)影响以及变异大小因素的影响。(最小-最大标准化)
x1=(x-min)/(max-min)
2)标准差标准化--消除单位影响以及变量自身变异影响。(零-均值标准化)
x1=(x-平均数)/标准差
3)小数定标规范化--消除单位影响。
x1= x/10**(k)、k=log10(x的绝对值的最大值)
数据离散化的常见方法:
1)等宽离散化。
2)等频率离散化。
3)一维聚类离散化。
属性构造即通过现有的一个或多个属性数据经过处理变成新的属性数据。
实例:Python数据分析学习笔记(5)数据变换实战
4、数据规约:产生更小且保持数据完整性的新数据集。意义在于降低无效、错误数据;降低存储成本;少量且具有代表性的数据大幅加快,主要分为以下两类:
(1)属性规约:属性合并或删除无关维,目标是寻找最小子集使子集概率分布尽可能与原来相同。
常用方法:
1)合并属性 将就属性合并为新属性 {A1,A2,A3,B1,B2,C}——{A,B,C}
2)逐步向前选择 从空集开始,逐个加入最优属性,直到无最优或满足条件 {}—{A1}—{A1,A4}
3)逐步向后删除 从全集开始,每次删除最差属性,直到无最差或满足阈值
4)决策树归纳 利用决策树归纳能力进行分类,删除未出现的属性,即效果差的属性
5)主成分分析 用少量变量解释大部分变量,保留大部分信息,将相关性高的数据转为彼此独立
(2)数值规约:通过选择替代的、较小的数据来较少数据量,包括有参数(回归、对数线性模型)和无参数方法(直方图、聚类、抽样)。
实例:Python数据分析学习笔记(6)数据规约实战--以主成分分析PCA为例