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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/166044.html