数据预处理是机器学习项目中至关重要的一步,它直接影响模型的性能和准确性。
一、数据清洗
数据清洗是数据预处理的首要步骤,主要目的是处理数据中的缺失值、异常值和重复数据等。
1.处理缺失值:
删除含有缺失值的行或列。
均值填充:对于缺失值,用相应特征的均值代替。这种方法适用于缺失值较少的情况,且数据分布较为均匀。例如使用中位数、众数或基于其他列的预测模型来填充。
插值法:通过已知数据点来估计缺失值,常用的有线性插值、多项式插值等。
其他方法:如使用回归模型、期望最大化填补法、高斯混合模型(GMM)补全、C均值(C-Means)补全、K近邻(KNN)补全、决策树填补法等来预测并填充缺失值。
2.处理异常值:
Z-Score法:通过计算数据点的Z分数来判断其是否为异常值。Z分数反映了数据点离均值的标准差数,通常认为Z分数绝对值大于3的数据点为异常值。
IQR法:使用四分位距(IQR)来判断异常值。数据点小于Q1-1.5IQR或大于Q3+1.5IQR时,视为异常值。
二、数据均衡
数据均衡化处理主要用于解决数据集不平衡问题,即某些类别的样本数量远多于其他类别。
1.欠采样法:从数量多的类别中随机丢弃一些数据ÿ