🔥 Google机器学习(17)-机器学习四大特征工程核心解析

Google机器学习(17)-四大特征工程核心解析(约5分钟)


一、特征工程基础概念

定义与作用

特征工程是将原始数据转换为特征向量的过程,包含:

  • 特征选择(变量子集选择)
  • 特征转换(编码/标准化)
  • 特征创建(特征交叉)
    在这里插入图片描述

分类特征

离散型特征,取值来自预定义集合
示例:街道名称、产品类别、颜色等


二、特征编码技术

1. OOV分桶

适用场景:存在未知特征值的情况
实现方式:
对于如下原始数据:

{'Charleston Road', 'North Shoreline Boulevard', 'Shorebird Way', 'Rengstorff Avenue'}

我们可以按照以下方式将街道名称映射到数字:

street_mapping = {
    'Charleston Road': 0,
    'North Shoreline Boulevard': 1,
    'Shorebird Way': 2,
    'Rengstorff Avenue': 3,
    '[OOV]': 4  # 其他值映射为4
}

2. 独热编码(One-Hot)

特点:

  • 创建稀疏向量(仅1个元素为1)

  • 适合有限可能值的分类特征

通过独热编码进行数据映射

3. 多热编码(Multi-Hot)

特点:

  • 允许向量中多个位置为1

  • 适合多值特征(如标签、关键词)

4. 稀疏表示法

优势:

  • 仅存储非零元素

  • 节省内存空间(尤其在高维特征时)

表示法存储方式示例维度
密集表示存储所有值1,000,000维
稀疏表示仅存非零值20维(实际出现特征)

稀疏矩阵和密集矩阵对比如下
在这里插入图片描述


三、技术对比

编码方式适用场景优点缺点
OOV分桶存在未知值简单直接信息损失
独热编码低基数特征无偏编码维度爆炸
多热编码多值特征保留多值信息仍需高维
稀疏表示高维稀疏数据高效存储需特殊处理

技术问答

Q:何时使用独热编码?
A:当特征取值数量<50且需要完整保留类别信息时

Q:如何处理高基数分类特征?
A:可采用哈希分桶或嵌入编码(Embedding)

Q:稀疏表示的缺点?
A:部分算法不支持稀疏输入,需转换为密集格式


参考文献:
[1] Google特征工程指南
[2] 数据验证方法

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐