公众号:尤而小屋
整理:Peter
大家好,我是Peter~
数据预处理方法的重要性在于它能够清洗和转换原始数据,使其适合用于机器学习模型训练。有效的预处理可以帮助去除噪声、处理缺失值和异常数据,提升模型的准确性和稳定性。
此外,合适的预处理还能减少模型过拟合的风险,增强模型的泛化能力。
今儿总结的十个方面的数据预处理方法,如果有没有总结全的,大家评论区给出~
数据清洗 数据标准化 数据归一化 类别编码 特征选择 特征缩放 特征构造 降维 数据增强 数据平衡
1. 数据清洗(Data Cleaning)
数据清洗是指处理缺失值和异常值,以提高数据质量和模型性能。
原理
缺失值处理:可以选择删除含有缺失值的样本或特征,或者使用插值、均值、中位数、众数等方法填补缺失值。 异常值处理:可以使用统计方法(如Z-Score)或基于模型的方法(如IQR)处理异常值。
核心公式
处理缺失值:
均值填补:对于一个有缺失值的特征列 ,其均值 计算为:
用这个均值填补缺失值。
处理异常值:
Z-Score:标准化后的值 计算公式为:
其中, 是均值, 是标准差。通常,|Z|>3 被认为是异常值。
2. 数据标准化(Standardization)
标准化是将数据转换为均值为0、标准差为1的分布,通常用于高斯分布的数据。
原理
标准化后的数据具有相同的尺度,减少特征之间量纲不一致的影响,有助于提高某些机器学习算法的性能。
核心公式
标准化公式:
其中, 是特征的均值, 是特征的标准差。
假设 ,其均值和标准差分别为:
标准化后的数据:
3. 数据归一化(Normalization)
归一化是将数据缩放到特定范围(通常是[0, 1]),特别适用于距离度量敏感的算法,如K近邻算法。
原理
归一化后的数据每个特征的取值范围相同,有助于提高某些机器学习算法的性能。
核心公式
归一化公式:
其中, 和 分别是特征的最小值和最大值。
假设 ,其最小值和最大值分别为:
归一化后的数据:
4. 类别编码(Categorical Encoding)
将类别特征转换为数值形式,以便机器学习算法能够处理。
原理
机器学习算法通常只能处理数值特征,因此需要将类别特征转换为数值。
核心公式
独热编码(One-Hot Encoding):对于一个类别特征 具有 个不同的类别,将其转换为 维向量,其中只有一个位置为1,其余为0。
例如,假设特征 有三个类别:红色、绿色、蓝色。则:
红色:[1, 0, 0] 绿色:[0, 1, 0] 蓝色:[0, 0, 1]
5. 特征选择(Feature Selection)
特征选择是选择对模型训练最重要的特征,去除冗余或不相关特征,提高模型性能。
原理
减少数据维度,去除冗余或不相关特征,可以提高模型的性能和训练速度,减少过拟合。
核心公式
可以使用基于树模型的特征重要性度量,如在随机森林中计算特征重要性:
其中, 是第 棵树中特征 的重要性度量。
假设使用基于Gini系数的特征重要性计算方法,单棵树的特征重要性可以表示为:
其中, 是所有包含特征 的节点, 是节点 的样本数量, 是总样本数量, 是节点 上的Gini系数变化。
6. 特征缩放(Feature Scaling)
调整特征的尺度,使其在相似的范围内,常用于标准化和归一化之外的方法。
原理
减少特征值范围的差异,帮助某些算法更快收敛。
核心公式
最大最小缩放:
对数变换:
其中,加1是为了避免对数零或负值的问题。
7. 特征构造(Feature Engineering)
从现有数据中创建新的特征,以揭示数据中的隐藏关系,提高模型表现。
原理
通过特征构造,可以揭示数据中的隐藏关系,提升模型表现。
核心公式
例如,对于两个特征 和 构造交互特征:
8. 降维(Dimensionality Reduction)
减少特征数量,保留主要信息,常用方法包括PCA、LDA等。
原理
通过降维方法,减少数据维度,同时保留大部分信息。
核心公式
主成分分析(PCA):
数据中心化: 计算协方差矩阵 : 特征值分解: 选择前 个最大特征值对应的特征向量构成变换矩阵 变换数据:
9. 数据增强(Data Augmentation)
通过对数据进行变换增加数据的多样性,提高模型泛化能力,常用于图像和文本处理任务。
原理
通过数据增强生成更多样本,提高模型泛化能力。
核心公式
例如,图像旋转:
其中, 是旋转矩阵, 是旋转角度。
10. 数据平衡(Data Balancing)
处理类别不平衡问题,可以使用过采样(如SMOTE)、欠采样等方法。
原理
通过过采样、欠采样等方法平衡类别分布,提高模型在少数类上的表现。
核心公式
过采样(SMOTE):通过在少数类样本之间插值生成新的样本。对于两个少数类样本 和 ,生成新样本 :
其中, 是随机数。