多项式回归损失函数为均方误差,迭代计算方式为梯度下降;在scikit-learning中,多项式回归由sklearn.linear_model.LinearRegression。
当特征不足导致欠拟合时,可以采用特征组合的方式产生多项式特征,在scikit-learning中,用sklearn.preprocessing.PolynomialFeatures产生多项式特征。
sklearn.pipline.Pipline可以把多个模型串联起来,执行起来相当于一个模型。
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
from sklearn.metrics import mean_squared_error
#多项式回归由sklearn.linear_model.LinearRegression实现
#sklearn.preprocessing.PolynomialFeatures产生多项式特征
#sklearn.pipline.Pipline把生成多项式特征和线性回归训练串联起来
def generate_dot(dot_num, left, right):
x = np.linspace(left, right, dot_num)
y = np.cos(x) + 0.2 * np.random.random(dot_num) - 0.1
x