对于给出的 数据做出散点图,可以大致看出模型是否适合做线性回归,但是,线性回归一定是拟合最好的模型吗?答案是否定的。有时候,多项式回归会得出拟合效果更好的模型,但是也需要注意过拟合的线性。
下面,还是以房屋面积预测房屋价格的数据为例:
读取数据,绘制散点图:
多项式回归
import matplotlib.font_manager as fm
import matplotlib.pyplot as plt
from sklearn import linear_model
import numpy as np
from sklearn.linear_model import LinearRegression #导入线性回归模型
from sklearn.preprocessing import PolynomialFeatures # 导入多项式回归模型
# 字体
myfont = fm.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')
# plt.figure() # 实例化作图变量
plt.title('房价面积价格样本', fontproperties = myfont) # 图像标题
plt.xlabel('面积(平方米)', fontproperties = myfont) # x轴文本
plt.ylabel('价格(万元)', fontproperties = myfont) # y轴文本
# plt.axis([30, 400, 100, 400])
plt.grid(True) # 是否绘制网格线
# 训练数据(给定的房屋面积x和价格y)
X = [[50], [100], [150], [200], [250], [300]]
y = [[150], [200], [250], [280], [310]