特征工程中的数据处理

RightHannah +0/-0 0 0 正常 2025-12-24T07:01:19 数据处理 · 特征工程

特征工程中的数据处理

在大模型训练过程中,高质量的特征工程是决定模型性能的关键因素之一。本文将分享几种常见的数据处理技巧,帮助提升特征质量。

1. 异常值检测与处理

异常值会严重影响模型训练效果,可使用IQR方法进行检测:

import numpy as np
import pandas as pd

def remove_outliers_iqr(df, column):
    Q1 = df[column].quantile(0.25)
    Q3 = df[column].quantile(0.75)
    IQR = Q3 - Q1
    lower_bound = Q1 - 1.5 * IQR
    upper_bound = Q3 + 1.5 * IQR
    return df[(df[column] >= lower_bound) & (df[column] <= upper_bound)]

2. 缺失值处理

对于缺失值,可采用多种策略:

  • 数值型:使用中位数填充
  • 分类型:使用众数填充
# 填充数值型缺失值
numeric_columns = df.select_dtypes(include=[np.number]).columns
for col in numeric_columns:
    df[col].fillna(df[col].median(), inplace=True)

3. 特征缩放

标准化处理确保各特征在同一量级:

from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

4. 数据类型优化

通过调整数据类型减少内存占用:

# 优化整数类型
for col in df.select_dtypes(include=['int64']).columns:
    if df[col].min() >= -128 and df[col].max() <= 127:
        df[col] = df[col].astype('int8')

这些处理步骤可作为特征工程的基础流程,建议在实际项目中根据数据特点灵活调整。

推广
广告位招租

讨论

0/2000
Bella359
Bella359 · 2026-01-08T10:24:58
IQR去异常值方法实用,但别盲目删数据,建议先可视化观察分布,再决定是否保留或变换。
Betty789
Betty789 · 2026-01-08T10:24:58
缺失值填充用中位数挺好,但高维数据里可以试试插值或者建模预测,尤其对时间序列效果更佳。
Helen591
Helen591 · 2026-01-08T10:24:58
特征缩放一定得注意训练集和测试集的处理一致性,别忘了保存scaler对象用于后续推理。
Tara348
Tara348 · 2026-01-08T10:24:58
数据类型优化真能省内存,尤其是大数据量时,int8、float32这些小精度在不损失精度前提下很香。