数据预处理

步骤子步骤描述常用方法注意事项
1. 数据收集-获取和收集数据集,用于后续分析和建模。数据库查询、API调用、手动收集确保数据来源可靠、数据质量高,数据量足够代表总体。
2. 数据清洗缺失值处理处理数据中的缺失值,以防止模型误差。- 删除缺失值
- 填补缺失值(平均值、中位数、众数、插值法、前后值填充、回归预测、K近邻等)
根据缺失值比例和数据特点选择合适的方法,避免丢失过多数据。
重复值处理删除数据中的重复记录,防止重复计算和模型训练偏差。删除重复行或列检查数据重复的原因,确保不会误删有意义的数据。
异常值检测与处理检测和处理数据中的异常值,防止模型被异常值误导。- 删除异常值
- 平滑处理
- 使用算法修正(如聚类算法或回归模型)
结合业务背景判断异常值是否有意义,避免误删关键数据。
3. 数据标准化与归一化标准化(Standardization)将数据转换为零均值和单位方差的分布,适合假设数据符合正态分布的算法。 z = x − μ σ z = \frac{x - \mu}{\sigma} z=σxμ确保对所有特征一致地应用标准化,防止模型受特征尺度影响。
归一化(Normalization)将数据缩放到特定范围(通常是[0, 1]),适合对数据范围敏感的算法。 x ′ = x − min ⁡ ( x ) max ⁡ ( x ) − min ⁡ ( x ) x' = \frac{x - \min(x)}{\max(x) - \min(x)} x=max(x)min(x)xmin(x)注意选择适合的归一化范围,确保特征间比例合适。
4. 数据转换特征缩放调整数据的尺度,使不同特征在同一个范围内,避免某些特征在模型中占据主导地位。标准化、归一化保证缩放后的数据仍然保持原有的相对大小和比例关系。
对数变换对数变换用于将偏态分布的数据转换为接近正态分布,有助于减少数据的偏度。 x ′ = log ⁡ ( x + 1 ) x' = \log(x + 1) x=log(x+1)(防止零值出现)适用于数据具有长尾分布的情况;注意处理非正值数据。
Box-Cox变换将数据变换为接近正态分布,适用于严格正值数据。 x ′ = x λ − 1 λ x' = \frac{x^\lambda - 1}{\lambda} x=λxλ1(通常, λ \lambda λ 通过最大似然估计确定)只适用于严格正值数据,需事先对数据进行筛选。
5. 特征工程特征选择从数据集中选择对模型训练最有用的特征,减少数据维度,提高模型性能。- 过滤法(相关系数、卡方检验等)
- 包裹法(递归特征消除等)
- 嵌入法(决策树、Lasso回归等)
考虑选择与目标变量强相关的特征,避免高维度数据导致的计算复杂性和过拟合。
特征提取提取有用的特征来增强数据的表示能力。主成分分析(PCA)、独立成分分析(ICA)、特征重组(组合、聚合等)通过特征提取降低数据维度,提升模型效率;需注意保持原有信息不被过度损失。
特征编码对类别型数据进行编码,使其能用于模型训练。独热编码(One-Hot Encoding)、标签编码(Label Encoding)、目标编码(Target Encoding)根据特征的重要性选择合适的编码方式,避免类别数量过多导致的维度膨胀(如独热编码)。
6. 数据拆分训练集/测试集划分将数据集分为训练集和测试集,以验证模型的泛化能力。随机划分、分层采样确保测试集和训练集分布一致,避免模型偏差;常用80:20或70:30的划分比例。
交叉验证将数据集划分为多个子集,多次训练和验证模型,以获得更可靠的模型性能评估。K折交叉验证(K-Fold Cross-Validation)确保每次验证的样本集不重复,提高模型评估的稳定性和可靠性。
7. 数据平衡类别平衡平衡数据集中的类别分布,防止模型在类别不平衡的数据上出现偏差。欠采样(Under-sampling)、过采样(Over-sampling)、SMOTE(合成少数类过采样)选择适合的平衡方法,避免数据丢失或过度合成导致的模型性能下降。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BenChuat

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值