导航菜单

机器学习/特征工程
课程进度 48% · 第6/11章6/11章 · 标签 1/3
1

特征工程

什么是特征工程?

特征工程就像是给机器学习模型准备'食材'的过程。无论你的厨艺(算法)有多好,如果食材(特征)本身不新鲜、不干净,最终做出来的菜(模型)也不会好吃。特征工程就是要把原始数据'加工'成模型能够理解和有效利用的特征,这是机器学习项目中最关键也最耗时的步骤之一。

📖想象你在教一个小朋友认识水果。你拿出一个苹果说'这是红色的、圆圆的、有把儿的水果',小朋友就学会了如何识别苹果。这里的'红色'、'圆圆'、'有把儿'就是特征。特征工程就是要找出这些最有辨识度的特征,让模型能像小朋友一样快速准确地识别各种事物。

特征提取

  • 从原始数据中提取有用信息
  • 处理文本、图像、时间等
  • 创建新特征组合

特征转换

  • 标准化和归一化处理
  • 对数/指数变换
  • 离散化与分箱

特征选择

  • 过滤低重要性特征
  • 降低维度减少过拟合
  • 提升模型训练速度

常见的特征工程方法

1. 数值型特征处理:数值型特征通常需要标准化或归一化,特别是使用基于距离的算法时。

实践案例 - 房价预测:面积(50~500㎡)和卧室数(1~5间)量纲不同,模型会认为面积更重要。通过标准化(Z-score)让所有特征在同一尺度上,模型才能正确学习。
  • 标准化(StandardScaler):将数据转换为均值为0,标准差为1
  • 归一化(MinMaxScaler):将数据缩放到[0,1]区间
  • 对数转换:处理长尾分布,使数据更接近正态分布

2. 类别型特征处理:机器学习模型无法直接处理文本形式的类别数据,需要将其转换为数值。

实践案例 - 用户画像:用户所在城市(北京、上海、广州)需要转为数值。独热编码将其变为'是否北京''是否上海''是否广州'三个特征,每个城市对应一个特征为1。
  • 独热编码(One-Hot Encoding):创建虚拟变量,每个类别一列
  • 标签编码(Label Encoding):将类别映射为整数(有序类别适用)
  • 目标编码(Target Encoding):用目标变量的均值替换类别值

3. 时间特征处理:时间数据具有周期性、趋势性等特性,需要特殊处理才能被模型利用。

实践案例 - 销售预测:分析某电商平台销售数据,提取'星期几'、'是否节假日'、'距上次促销天数'等时间特征,模型发现周五和节前销量明显上升。
  • 提取年/月/日/星期/小时等时间分量
  • 计算时间差(距上次购买天数等)
  • 周期性编码(用sin/cos处理周期性变化)
2
特征提取特征选择标准化独热编码PCA分箱