直接看代码
import numpy as np
import matplotlib.pyplot as plt
x = np.random.uniform(-3,3,size=100)
#在最新版本的sklearn中,所有的数据都应该是二维矩阵,哪怕它只是单独一行或一列。
X = x.reshape(-1,1)
y = 0.5 * x ** 2 + x + 2 +np.random.normal(0,1,size=100)
使用多项式特征添加
#数据归一化也在这个包
from sklearn.preprocessing import PolynomialFeatures
添加二次特征
#Polynomial 多项式
poly = PolynomialFeatures(degree=2)#添加二次特征
poly.fit(X)
X2 = poly.transform(X)
print(X2.shape)
print(X2[:5,:])#只看一下前五行所有列,加了一列1,x0
[[ 1. -1.89324841 3.58438955