多项式回归下的过拟合和欠拟合原理解释

本文通过实例解释了过拟合和欠拟合的概念,使用线性和多项式回归来演示。随着多项式度数提升,模型在训练集上的表现改善但可能导致过拟合,降低泛化能力。train_test_split函数用于评估模型的泛化性能,通过MSE变化揭示了度数增加对测试集拟合效果的负面影响。
摘要由CSDN通过智能技术生成

过拟合和欠拟合(overfitting and underfitting)

  • 过拟合(overfitting)就是对训练数据集的拟合很好,但是对测试数据集的拟合能力就变的很差,模型过多的表达了数据间的噪音关系,此时模型的泛化能力就很差。
  • 欠拟合(underfitting)指的是算法训练的模型不饿能完整的表述数据这之间的关系。

下面通过一个多项式回归的例子来感性的认识这两个概念:

Step1 随机生成一组具有非线性关系的数据集合

import numpy as np
import matplotlib.pyplot as pltS

np.random.seed(666)
x = np.random.uniform(-3.0, 3.0, size=100)
X = x.reshape(-1, 1)
y = 0.5 * x**2 + x + 2 + np.random.normal(0, 1, size=100)

plt.scatter(x, y)
plt.show()

在这里插入图片描述

Step2.1:使用线性回归来拟合这些数据

from sklearn.linear_model import LinearRegression

lin_reg = LinearRegression()
lin_reg.fit(X, y)
lin_reg.score(X, y)

0.49537078118650091

y_predict = lin_reg.predict(X)
plt.scatter(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值