本文采用线性回归的模型进行了练习。使用的模型的损失函数如下:
代码首先生成了一些用于使用线性回归的数据然后加上了一些噪声,然后使用简单的线性回归和多项式回归进行拟合,画图计算的得分值并画图来判断拟合的效果:
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
import matplotlib.pyplot as plt
from sklearn.pipeline import Pipeline
from sklearn.exceptions import ConvergenceWarning
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = [u'simHei']
mpl.rcParams['axes.unicode_minus'] = False
import warnings
warnings.filterwarnings(action='ignore', category=ConvergenceWarning)
np.random.seed(0)
np.set_printoptions(linewidth=1000)
N = 7
x = np.linspace(0, 6, N) + 0.5 * np.random.randn(N)
x = np.sort(x)
y = x ** 2 - 4 * x - 3 + 2 * np.random.randn(N)
x.shape = -1, 1 # 将一维转换成二维
y.shape = -1, 1