返回

深入剖析特征工程:特征缩放与编码指南

人工智能

在特征工程中,特征缩放与特征编码是必不可少的步骤。特征缩放可以消除量纲关系的影响,使不同特征处于同一个数量级,便于模型训练和评估。特征编码可以处理类别型、文本型以及连续型特征,使模型能够更好地理解和利用这些特征。

特征缩放

特征缩放主要分为两种方法,归一化和正则化。

归一化

归一化(Normalization),也称为标准化,是将特征值映射到[0, 1]区间的一种缩放方法。归一化可以消除量纲关系的影响,使不同特征处于同一个数量级,便于模型训练和评估。

归一化常用的方法有以下几种:

  • 最大-最小归一化: 将特征值映射到[0, 1]区间,计算公式为:
x' = (x - min(X)) / (max(X) - min(X))

其中,x'是归一化后的特征值,x是原始特征值,min(X)是特征值的最小值,max(X)是特征值的最大值。

  • 小数定标: 将特征值除以特征值的绝对值的最大值,计算公式为:
x' = x / max(|X|)

其中,x'是归一化后的特征值,x是原始特征值,max(|X|)是特征值的绝对值的最大值。

  • 均值-方差归一化: 将特征值减去特征值的均值,然后除以特征值的标准差,计算公式为:
x' = (x - mean(X)) / std(X)

其中,x'是归一化后的特征值,x是原始特征值,mean(X)是特征值的均值,std(X)是特征值的标准差。

正则化

正则化(Regularization)是一种防止模型过拟合的技术。正则化通过在损失函数中添加一个正则化项来实现,正则化项可以惩罚模型的复杂度,使模型更倾向于选择更简单的假设。

正则化常用的方法有以下几种:

  • L1正则化: L1正则化也称为Lasso正则化,正则化项为模型权重的绝对值之和,计算公式为:
R(w) = λ∑|w_i|

其中,R(w)是正则化项,λ是正则化系数,w_i是模型权重。

  • L2正则化: L2正则化也称为岭回归正则化,正则化项为模型权重的平方和,计算公式为:
R(w) = λ∑w_i^2

其中,R(w)是正则化项,λ是正则化系数,w_i是模型权重。

  • 弹性网络正则化: 弹性网络正则化是L1正则化和L2正则化的组合,正则化项为模型权重的绝对值之和加上模型权重的平方和,计算公式为:
R(w) = λ1∑|w_i| + λ2∑w_i^2

其中,R(w)是正则化项,λ1和λ2是正则化系数,w_i是模型权重。

特征编码

特征编码是将类别型、文本型以及连续型特征转换为数值型特征的过程。特征编码可以使模型更好地理解和利用这些特征。

类别型特征编码

类别型特征是具有有限个离散值的特征,例如性别、职业、学历等。类别型特征的编码方法有以下几种:

  • 序号编码: 序号编码是将类别型特征的每个类别赋予一个唯一的整数,例如:
性别:
  男性 -> 1
  女性 -> 2
  • 独热编码: 独热编码是将类别型特征的每个类别创建一个新的二元特征,例如:
性别:
  男性 -> [1, 0]
  女性 -> [0, 1]

文本型特征编码

文本型特征是包含文本信息的特征,例如新闻、评论、邮件等。文本型特征的编码方法有以下几种:

  • 词袋模型: 词袋模型是将文本表示为一个由词频组成的向量,例如:
文本:
  "我喜欢机器学习"

词袋模型:
  ["我喜欢", "机器学习"] -> [2, 1]
  • TF-IDF模型: TF-IDF模型是将文本表示为一个由词频-逆文档频率组成的向量,例如:
文本:
  "我喜欢机器学习"

TF-IDF模型:
  ["我喜欢", "机器学习"] -> [0.5, 1.0]

连续型特征编码

连续型特征是具有无穷个可能值的特征,例如身高、体重、年龄等。连续型特征的编码方法有以下几种:

  • 归一化: 归一化是将连续型特征值映射到[0, 1]区间的一种缩放方法,例如:
身高:
  180 -> 0.75
  • 二值化: 二值化是将连续型特征值转换为二元特征,例如:
年龄:
  18岁以上 -> 1
  18岁以下 -> 0
  • 分箱: 分箱是将连续型特征值划分为若干个区间,然后将每个区间赋予一个唯一的整数,例如:
年龄:
  0-18岁 -> 1
  18-30岁 -> 2
  30-45岁 -> 3
  45岁以上 -> 4

总结

特征缩放与特征编码是特征工程中必不可少的步骤。特征缩放可以消除量纲关系的影响,使不同特征处于同一个数量级,便于模型训练和评估。特征编码可以处理类别型、文本型以及连续型特征,使模型能够更好地理解和利用这些特征。

在实际应用中,特征缩放与特征编码的方法需要根据具体的数据集和模型进行选择。