前言
使用多项式回归 可能出现的问题:过拟合和欠拟合
过拟合(Over Fitting):算法所训练的模型过多的表达了数据间的噪音关系 。
就是太过于细节了!
欠拟合(Under Fitting):算法所训练的模型不能完全表述数据关系。
就是太笼统了!
上手实践
线性回归:
x=np.random.uniform(-3,3,size=100) #生成x特征 -3到3 100个
X=x.reshape(-1,1)#将x编程100行1列的矩阵
y=0.5*x**2+x+2+np.random.normal(0,1,size=100)#模拟的是标记y 对应的是x的二次函数
#使用线性回归看下score
from sklearn.linear_model import LinearRegression
reg=LinearRegression()
reg.fit(X,y)
reg.score(X,y)
#将预测值y_pre画图 对比真实y
y_pre=reg.predict(X)
plt.scatter(x,y)
plt.plot(np.sort(x),y_pre[np.argsort(x)],color='r')
#查看MSE
from sklearn.metrics import mean_squared_error
mean_squared_error(y,y_pre)
线性回归score:
0.5029149851435246
拟合效果图 此时曲线过于简单就是欠拟合