多项式回归 学习曲线

本文探讨了在数据复杂度超过线性关系时如何利用多项式回归进行模型拟合。通过添加特征的平方项来扩展训练集,利用`PolynomialFeatures`进行特征转换。然而,高阶多项式可能导致过拟合,学习曲线显示300阶多项式存在明显波动,而二阶多项式则有更好的表现。当误差停留在高位且训练与验证误差差距较大时,表明存在欠拟合。反之,如果两者差距明显,可能是过度拟合的迹象。
摘要由CSDN通过智能技术生成

多项式回归

如果数据比简单的线性更加复杂,我们也可以用线性模型来拟合,只需要给每个特征添加一个新特征,然后用扩展后的新特征来训练。

import numpy as np
import numpy.random as rnd
np.random.seed(42)
m = 100
X = 6 * np.random.rand(m, 1) - 3
y = 0.5 * X**2 + X + 2 + np.random.randn(m, 1)#设置方程
plt.plot(X, y, "b.")
plt.xlabel("$x_1$", fontsize=18)
plt.ylabel("$y$", rotation=0, fontsize=18)
plt.title("带噪声的非线性数据")
plt.axis([-3, 3, 0, 10])
plt.show()

在这里插入图片描述

from sklearn.preprocessing import PolynomialFeatures#多项式进行处理
poly_features = PolynomialFeatures(degree=2, include_bias=False)#加入2阶处理
X_poly = poly_features.fit_transform(X)
X[0]
array([-0.75275929])
X_poly[0]
array([-0.75275929,  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值