4.1 数据预处理
Data Preprocessing 在使用数据进行建模或分析前,进行标准化、离散化、抽样、降维、去噪等操作,从而提高数据挖掘的质量
4.1.1 标准化
Normalization 将数据按照一定比例缩放,使数据落入一个特定的小区间。例如归一化处理 -> [0, 1]
作用:加快模型的收敛速度,提高模型精度
1. Min-max
2. Z-Score
mu表示均值,sigma表示方差(表示数据离散程度:数据均差平方的平均值的平方根)
数据中轴为0, 对称分布
3. Decimal scaling 小数定标
j表示数据中绝对值最大的数的变为小数需要移动小数点次数,例如99 ->j=2
数据恒大于0,分布均匀
4. Mean 均值归一化
中轴0对称,分布均匀(常用)
5. 向量
6. 指数转换
数据分布不均
- log10
- Softmax:数据变化递增
- Sigmoid:数据变化递减
4.1.2 离散化
数据离散化,也称为数据分组,分组数据通常需要先进行排序
等宽分组,即根据固定宽度(范围)进行分组:数据分布不均匀
(1, 3, 10, 11, 21) 分四组,范围分别是 [1, 5], (5, 10], (10, 15], (15, 20]等频分组/每个分组变量个数相同:可能将相同变量分到不同组中
但变量分组:将相同变量分到一个组
基于信息熵分组
(1)信息量:信息论之父Shannon认为,信息是用来消除随机不确定性的东西,即信息量表示这个信息消除不确定性的程度
信息量大小与事件发生的概率成反比:
p表示x发生的概率
信息量度量的是:一个具体事件发生所带来的信息
(2)熵:表示在结果出来之前对可能产生的信息量的期望。考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望
按信息熵分组:**按照随机变量的所有可能取值划分数据的总熵E,是所有时间熵的加权平均
wi = mi/m 表示第x个事件出现的比例,mi是第i个可能取值出现的次数,m为所有取值出现的总次数
(Note: 熵表示样本集合的不确定性,熵越大,则样本的不确定性越大)
具体做法:
- 对属性A的所有取值从小到大排序
- 遍历属性A的每个值Vi,将属性A的值分为两个区间S1、S2,使得将其作为分隔点划分数据集后的熵S最小
- 划分后的熵大于设置的阈值且小于指定的数据分组个数时,递归对S1、S2执行上两步骤中的划分
4.1.3 数据抽样
- 统计学解释:实现数据的调查和分析
- 数据挖掘:压缩数据量,降低资源开销。从海量数据中产生训练集(train)、测试集(test)、验证集(validation set)
- 训练集用于训练数据
- 测试集用于衡量模型的统计指标,准确率、召回率(不可加入训练集,否则模型过拟合)
- 验证集用于验证模型(可选项)
1. 随机抽样
Random Sampling
- 有放回抽样
- 无放回抽样
2. 分层抽样
Stratified Sampling
当数据总体由不同类型的对象组成,每种类型数据差别较大。这时随机抽样无法保证各种类型的均衡性
- 等个数抽样:每组抽取相同数量
- 等比例抽样:每组抽样个数满足某种比例关系
3. 系统抽样
System Sampling,又称为机械抽样、等距抽样
- 将数据按照一定顺序分为长度相等的n个分区(每个部分长度为l)
- 从第一部分随机选取k个数据
- 对每个数据,间隔l的距离,从每个分区选取数据
4. 渐进抽样
当合适的样本容量无法确定时,有时需要自适应(Adaptive)或渐进抽样(Progressive Sampling)方法。
渐进抽样不需要一开始确定样本容量,但需要一个评估方法,用于确定样本容量增大到多少时最为合适。例如:使用渐进抽样来学习一个线性回归预测模型
4.1.4 数据降维
在构建机器学习模型时,有时特征极其复杂,高达几千维,模型训练将耗费大量的资源;同时会出现多重共线性,稀疏性的问题
降维:在不损失数据本身意义时,简化属性、去噪、去冗余,以求取更典型的特征
主要方法
- 线性降维方法:主成分分析(PCA)、线性判断分析(LDA)
- 非线性降维:基于核函数的KPCA/KDA和基于特征值的ISOMAP等
主成分分析 PCA
Principle Component Analysis 是一种统计方法。通过正交变换,将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的变量被称为主成分。
数据分析中,常用PCA进行数据降维,他可以在指定的损失范围内最大限度的简化属性
PCA核心知识点:协方差矩阵和特征值分解
方差表示一组数据的离散程度
协方差:表示两组数据(特征)随机变量x,y之间的相互关系
三种计算结果:
- 大于0,正相关
- 等于0,不相关
- 小于0,负相关
由于协方差只能表示两个随机变量之间的相互关系。如果有多个随机变量(特征),则需要使用协方差矩阵。例如三个变量下x,y,z
PCA降维过程
- 对特征进行标准化
- 计算协方差矩阵
- 计算协方差矩阵的特征值和特征向量
- 选取最大的k个特征值对应的特征向量,得到特征向量矩阵
- 将数据变换为k维,得到新的数据集
4.1.5 数据清洗
1. 不合格数据修正
3. 噪声值处理
4. 离群点处理
离群点即异常值,直接删除
离群值检测方法:
- 正态分布检测
- 模型检测