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

特征工程的常用方法

  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:将词语映射为稠密向量

缺失值处理

  • 删除:直接移除缺失值过多的特征或样本
  • 填充:用均值、中位数或预测值进行填补
  • 标志位:新增二进制列标记是否存在缺失
相关推荐
qq_376766241 小时前
机房U位资产管理系统的数据分析能力:如何让数据中心运维效率升级?
网络·人工智能
m0_571186601 小时前
第二十五周周报
人工智能
阿杰学AI1 小时前
AI核心知识21——大语言模型之核心参数Temperature(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·temperature·大模型参数
得贤招聘官1 小时前
AI重塑招聘生态:从效率革命到职能升级
人工智能
萤火虫的夏天2511 小时前
目标检测模型评估指标完整汇总
人工智能·目标检测·计算机视觉
亭亦青1 小时前
RTX 5056Ti适配PyTorch:安装步骤与依赖冲突解决
人工智能·pytorch
三块可乐两块冰1 小时前
【第二十二周】机器学习笔记二十
人工智能·笔记·机器学习
roman_日积跬步-终至千里1 小时前
【模式识别与机器学习】AdaBoost算法:集成学习的基本原理与AdaBoost算法的应用
算法·机器学习·集成学习
Hello eveybody1 小时前
AI的出现,是否能替代IT从业者?
人工智能