Python 二次多项式对特征进行衍生
时间: 2024-01-29 17:03:28 浏览: 148
duoxiangshi.rar_二次多项式
在机器学习中,特征衍生(feature engineering)是一种常用的技术,它可以通过将始特征进行组合、变换等方式,从而产生新的特征,帮助模型更好地学习数据的特征。
二次多项式就是一种常见的特征衍生方式之一,它可以通过对原始特征进行平方、交叉等变换,从而得到新的特征。
在 Python 中,我们可以使用 scikit-learn 库中的 PolynomialFeatures 类来实现二次多项式特征衍生。具体步骤如下:
1. 导入 PolynomialFeatures 类:
```python
from sklearn.preprocessing import PolynomialFeatures
```
2. 创建 PolynomialFeatures 对象,并设置 degree 参数为 2(表示二次多项式):
```python
poly = PolynomialFeatures(degree=2)
```
3. 使用 fit_transform 方法对原始特征进行二次多项式转换:
```python
X_poly = poly.fit_transform(X)
```
其中,X 表示原始特征矩阵,X_poly 表示转换后的特征矩阵。
完整代码示例:
```python
from sklearn.preprocessing import PolynomialFeatures
import numpy as np
# 构造原始特征矩阵
X = np.array([[1, 2], [3, 4], [5, 6]])
# 创建 PolynomialFeatures 对象,设置 degree 参数为 2
poly = PolynomialFeatures(degree=2)
# 对原始特征进行二次多项式转换
X_poly = poly.fit_transform(X)
print(X)
print(X_poly)
```
输出结果:
```
[[1 2]
[3 4]
[5 6]]
[[ 1. 1. 2. 1. 2. 4.]
[ 1. 3. 4. 9. 12. 16.]
[ 1. 5. 6. 25. 30. 36.]]
```
其中,第一列为常数项,第二列和第三列为原始特征,第四列为第一列特征的平方,第五列为第一列特征与第二列特征的乘积,第六列为第二列特征的平方,这就是二次多项式特征衍生后的新特征。
阅读全文