特征工程是分阶段的数据精炼过程,含数据清洗(处理缺失值、异常值、类型校正)、特征变换(数值缩放、类别编码、偏态矫正)、特征构造(时间拆解、组合衍生、分箱交互)及特征选择与降维(过滤法、嵌入法、PCA/LDA)。

特征工程不是一步到位的操作,而是一套有逻辑、分阶段的数据精炼过程。它直接决定模型能否从数据中真正“看懂”业务规律。下面按实际建模顺序,讲清楚每一步该做什么、为什么做、怎么做。
数据清洗:先让数据“能用”
这是所有后续工作的前提。脏数据会把再好的模型带偏。
- 缺失值处理:缺失率超过80%的列建议直接删;数值型常用中位数填充(比均值抗异常点),类别型用众数;复杂场景可用KNN或迭代插补(sklearn的IterativeImputer)
- 异常值处理:别急着删。先用IQR或3σ法识别,再考虑截断、分箱(如年龄→青年/中年/老年)或保留为特殊标记(比如“高收入离群者”本身可能有意义)
- 类型校正:比如“注册时间”被读成字符串,要转为datetime;“评分”本是数字却被存成文本,需强制转换并处理异常字符
特征变换:让数据“适配模型”
不同模型对输入数据的分布和尺度敏感,这步是“翻译”——把原始数据变成模型喜欢的样子。
- 数值缩放:线性模型(如逻辑回归)推荐Z-Score标准化;SVM或神经网络常用Min-Max归一化到[0,1];若数据含强离群点,用RobustScaler(基于中位数和IQR)更稳
- 类别编码:无序类别(城市、颜色)用独热编码(pd.get_dummies);有序类别(学历、满意度等级)用标签编码或序数映射(如小学=1,中学=2,大学=3)
- 偏态矫正:收入、交易额等右偏数据,可尝试log(x+1)或Box-Cox变换,使分布更接近正态,提升线性模型稳定性
特征构造:用业务知识“造新信息”
这是特征工程最有价值的部分——不是靠算法,而是靠你对问题的理解。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
还木有评论哦,快来抢沙发吧~