Google机器学习实践指南(机器学习四大特征工程核心解析)
🔥 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] 数据验证方法