我们再来做一个升维处理,这里我们不再自己去对数据进行比如,相乘操作,来给数据手动添加维度了,
这里我们用sklearn库提供的PolynomialFeatures来自动对数据进行升维.
from sklearn.linear_model import LinearRegression
# PolynowlalFeatures,多项式升维处理
from sklearn.preprocessing import PolynomialFeatures, StandardScaler
StandardScaler是sklearn库中的一个预处理类,用于标准化数据。
import numpy as np
首先上面我们导入了各种需要的库.PolynomialFeatures这个库,是我们将要用来做数据升维的,之前我们没有用过.
X=np.linspace(-1,11,num=100) 获取100个,-1到11的等差数列数据
y=(X-5)**2+3*X-12+np.random.randn(100) 对(x-5)的平方+3x-12 ,然后再加上一些扰动数据,把公式写出来
X=X.reshape(-1,1) #数据就是二维数据,机器学习,算法要求 这之前已经说过了,是把数据改成二维数据,np.randoe.randn(100),因为没有写成np.random.randn(100,1)会因为广播机制,变成100行100列的数据,用这个X=X.reshape(-1,1) 以后就会变成100行1列的数据.
plt.scatter(X,y) 然后再来看,再把X,y数据点都打印出来