标准回答
为什么重要
模型只能从喂给它的特征中学习,「垃圾进垃圾出」。好的特征能让简单模型也表现优异,往往比盲目更换复杂模型收益更大,尤其在表格数据上。
常用方法
数据清洗:处理缺失(均值/中位数/模型填充)、异常值,统一量纲与格式。特征变换:对偏态分布取对数、Box-Cox,使其更接近正态。类别编码:低基数用独热,有序用序数编码,高基数用目标编码或嵌入(目标编码须折外计算防泄漏)。数值缩放:标准化或归一化,使依赖距离(KNN、SVM)或梯度(线性/神经网络)的模型收敛更好、不被大量纲特征主导。特征构造:交叉特征、分箱、时间/聚合统计派生信息。特征选择与降维:过滤法(相关系数、互信息)、包裹法(递归特征消除)、嵌入法(L1、树重要性),或 PCA 降维去冗余。
注意点
所有依赖统计量的步骤只在训练集 fit,避免数据泄漏。
常见误区
⚠️ 常见踩坑
常见错误是在划分数据集前对全量做标准化或目标编码,导致泄漏。另外并非所有模型都需缩放——树模型对单调缩放不敏感,而 KNN/SVM/线性模型必须缩放。
追问
追问 1:标准化和归一化有什么区别,怎么选?
标准化减均值除标准差,得到零均值单位方差,对异常值较稳健、适合大多数线性与梯度模型;归一化把数据缩放到 [0,1],适合需要有界输入或分布非高斯的场景。有强异常值时优先标准化或用鲁棒缩放。
追问 2:过滤、包裹、嵌入三类特征选择方法的差异?
过滤法用统计指标(相关性、互信息)独立打分,快但不考虑模型;包裹法(如 RFE)反复训练模型评估子集,效果好但计算贵;嵌入法在训练中自带选择(L1 稀疏、树的特征重要性),兼顾效率与效果。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
📚 知识库
📖 术语表
🛠️ AI 工具
- Scikit Learn
Python 机器学习库,65,876+ stars。最流行的 Python 机器学习框架,提供分类、回归、聚类、降维等全面的 ML 算法,API 设计简洁优雅,是 ML 入门和工业实践的首选