24 多项式回归进阶
24.1 简介
多项式回归是一种扩展线性回归的方法,用来建模非线性关系。通过将输入变量升至多项式次幂,可以捕捉数据中的非线性特征。虽然模型复杂度增加,但也带来了更高的拟合能力。然而,过高次幂的多项式可能会导致过拟合问题。
24.2 多项式特征的构建
在多项式回归中,我们首先需要生成多项式特征,即将原始特征升至不同次幂并组合。Python中的scikit-learn
库提供了PolynomialFeatures
类,可以方便地构建多项式特征。
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.pipeline import make_pipeline
from sklearn.metrics import mean_squared_error
import numpy as np
# 生成模拟数据
np.random.seed(42)
X = np.random.rand(100, 1) * 10 - 5 # 输入范围[-5, 5]
y = 0.5 * X**2 - X + 2 + np.random.randn(100, 1).flatten() # 二次函数关系加噪声
# 构建多项式回归模型
poly = PolynomialFe