Spark MLlib 特征工程系列—特征转换Polynomial Expansion
1. Polynomial Expansion 简介
PolynomialExpansion
是 Spark MLlib 中的一种特征转换工具,主要用于将原始特征进行多项式扩展。多项式扩展通过生成原始特征的所有多项式组合来增加特征的维度,从而提高模型的表达能力。这种方法在非线性问题的建模中非常有用,因为它允许线性模型在更高维度空间中捕捉到数据中的非线性关系。
1. 提升线性模型的表达能力
线性模型的局限性
线性模型,如线性回归或逻辑回归,假设输入特征和输出之间的关系是线性的。这种假设在很多实际场景中过于简单,因为真实世界的数据通常表现出复杂的非线性关系。如果我们仅使用原始的线性特征,模型将难以捕捉到这些复杂的关系,导致预测效果不佳。
通过多项式扩展引入非线性
多项式扩展将原始特征进行多项式组合,生成新的特征。比如,给定一个输入特征 x_1 和 x_2,多项式扩展可以生成新特征 X 1 2 , X 2 2 , X 1 ∗ X 2 X1^2,X2^2,X1*X2 X12,X22,X1∗X2。这些新特征使得线性模型可以在高维空间中建模出复杂的非线性关系,提升模型的表达能力。
举例说明: 假设我们有一个简单的数据集,其中输入特征 xxx 和输出 yyy 之间的关系是二次曲线(即 y=ax2+bx+cy )。如果我们仅使用线性回归模型来拟合这个数据,模型会很难准确捕捉到曲线的形状。然而,通过对 xxx 进行多项式扩展,我们生成了新的特征 x 2 2 x2^2 x22,线性模型就能够在二维空间中通过线性组合 y =