数据预处理10大必备技巧

情感   2024-08-08 20:48   湖北  

公众号:尤而小屋
整理: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)

  1. 数据中心化:
  2. 计算协方差矩阵 
  3. 特征值分解:
  4. 选择前  个最大特征值对应的特征向量构成变换矩阵 
  5. 变换数据:

9. 数据增强(Data Augmentation)

通过对数据进行变换增加数据的多样性,提高模型泛化能力,常用于图像和文本处理任务。

原理

通过数据增强生成更多样本,提高模型泛化能力。

核心公式

例如,图像旋转:

其中, 是旋转矩阵, 是旋转角度。

10. 数据平衡(Data Balancing)

处理类别不平衡问题,可以使用过采样(如SMOTE)、欠采样等方法。

原理

通过过采样、欠采样等方法平衡类别分布,提高模型在少数类上的表现。

核心公式

过采样(SMOTE):通过在少数类样本之间插值生成新的样本。对于两个少数类样本  和 ,生成新样本 

其中, 是随机数。



尤而小屋
尤而小屋,一个温馨且有爱的小屋🏡 小屋主人,一手代码谋求生存,一手掌勺享受生活,欢迎你的光临~
 最新文章