常见的特征工程:数值型、类别型特征处理;特征构造、选择、文本特征处理、缺失值处理

特征工程的常用方法

  1. 为什么要做特征构造?

    原始特征无法直接表达业务规律,构造特征可以显式化非线性、交互、时间周期等信息,显著提升模型的表达能力泛化性能

  2. 特征构造的常用坑有哪些?

    • 信息泄露(使用未来标签统计)
    • 维度灾难(交叉特征未做hash或者降维)
    • 业务不合理(特征解释性差、难以落地)
  3. 模型效果不提示,怎么办?

    • 检查特征质量(是否与目标强相关)
    • 特征选择(L1正则化、树模型重要性)
    • 模型升级(采用更加复杂的模型)

特征工程是机器学习中数据预处理的核心环节,直接影响模型效果。面试中常被问及以下方法:

数值型特征处理

  • 标准化(Z-Score):将数据转换为均值为0、方差为1的分布,公式为 x ′ = x − μ σ x' = \frac{x - \mu}{\sigma} x′=σx−μ
  • 归一化(Min-Max):将数据线性映射到[0,1]区间,公式为 x ′ = x − x m i n x m a x − x m i n x' = \frac{x - x_{min}}{x_{max} - x_{min}} x′=xmax−xminx−xmin
  • 鲁棒缩放(Robust Scaling):使用中位数和四分位数,适用于存在异常值的数据

类别型特征编码

One-Hot 编码: 类别数量较少(<15个);模型对数值敏感(如线性回归、SVM)。

  • 优点:避免引入数值大小关系,适用于无序类别特征;兼容大多数机器学习模型。
  • 缺点:维度爆炸(高基数特征时内存消耗大);可能引入稀疏性问题。

标签编码(Label Encoding):类别存在内在顺序(如学历等级)。

  • 优点:节省内存,仅用一列数值表示类别;适合树模型(如决策树、随机森林)。
  • 缺点:可能引入虚假顺序关系,影响线性模型或距离类模型(如KNN、回归)。

频率编码(Frequency Encoding):高基数特征(如邮政编码);需保留统计信息的场景。

  • 优点:保留类别分布信息,适用于高基数特征;减少维度。
  • 缺点:相同频率的类别无法区分;可能引入过拟合风险。

目标编码(Target Encoding):分类任务且类别分布不均衡;需增强特征与目标关联性。

  • 优点:结合目标变量信息,提升模型表现;适用于高基数分类问题。
  • 缺点:需防范数据泄漏(需严格划分训练/测试集);可能过拟合小类别。

哈希编码(Hashing Encoding):实时处理或内存受限场景;类别基数极高(>1000)。

  • 优点:有效降维,适用于极高基数特征;内存效率高。
  • 缺点:可能发生哈希冲突;可解释性差。

注意事项

  • 树模型(如XGBoost)通常对编码方式不敏感,但线性模型需谨慎选择。
  • 高基数特征优先测试频率/目标编码,避免One-Hot的维度灾难。

特征构造

  • 多项式特征:通过特征相乘或平方构造非线性特征
  • 离散化/分箱(Binning):将连续变量离散化,如年龄分段
  • 时间特征:从时间戳提取小时、星期等周期性特征
  • 统计聚合特征:group by->count、均值、最大值、最小值、方差
  • 交叉/组合特征:两特征相乘、拼接字符串

特征选择

  • 方差阈值:移除方差低于阈值的低方差特征
  • 卡方检验:筛选与目标变量相关性高的分类特征
  • 基于模型:使用树模型的特征重要性或L1正则化进行筛选

文本特征处理

  • 词袋模型(Bag of Words):统计词频生成向量
  • TF-IDF:衡量词语在文档中的重要程度
  • Word2Vec/GloVe:将词语映射为稠密向量

缺失值处理

  • 删除:直接移除缺失值过多的特征或样本
  • 填充:用均值、中位数或预测值进行填补
  • 标志位:新增二进制列标记是否存在缺失
相关推荐
IT·小灰灰9 小时前
30行PHP,利用硅基流动API,网页客服瞬间上线
开发语言·人工智能·aigc·php
新缸中之脑10 小时前
编码代理的未来
人工智能
Anarkh_Lee10 小时前
【小白也能实现智能问数智能体】使用开源的universal-db-mcp在coze中实现问数 AskDB智能体
数据库·人工智能·ai·开源·ai编程
John_ToDebug10 小时前
2026年展望:在技术涌现时代构筑确定性
人工智能·程序人生
AndyHeee10 小时前
【windows使用TensorFlow,GPU无法识别问题汇总,含TensorFlow完整安装过程】
人工智能·windows·tensorflow
jay神11 小时前
基于YOLOv8的木材表面缺陷检测系统
人工智能·深度学习·yolo·计算机视觉·毕业设计
交通上的硅基思维11 小时前
人工智能安全:风险、机制与治理框架研究
人工智能·安全·百度
老百姓懂点AI11 小时前
[测试工程] 告别“玄学”评测:智能体来了(西南总部)基于AI agent指挥官的自动化Eval框架与AI调度官的回归测试
运维·人工智能·自动化
2501_9481201511 小时前
基于量化感知训练的大语言模型压缩方法
人工智能·语言模型·自然语言处理
songyuc11 小时前
【Llava】load_pretrained_model() 说明
人工智能·深度学习