(深度好文)欠拟合与过拟合解释实例--多项式拟合

本文通过实例详细介绍了欠拟合和过拟合的概念,通过构建多项式特征模型,比较不同阶数(一阶至三十阶)模型在训练集和测试集上的MSE指标,揭示了模型复杂度对拟合效果的影响。训练集上,30阶模型表现最佳,而测试集上3阶模型表现最佳,体现了过拟合和欠拟合的特征。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

欠拟合与过拟合解释实例–多项式拟合

目录:

1.导入必要的模块

2.生成数据

2.1构建数据生成函数
2.2生成训练集
2.3生成测试集

3.多项式模型拟合

3.1构建多项式特征模型训练函数
3.2一阶多线性拟合
3.3三阶多项式模型拟合
3.4十阶多项式模型拟合
3.5三十阶多项式模型拟合
3.6指标对比

4.测试集检验

4.1多项式特征模型预测函数
4.2一阶线性模型预测
4.3三阶多项式模型预测
4.4十阶多项式模型预测
4.5三十阶多项式模型预测
4.6指标对比

5.欠拟合和过拟合总结

正文内容:

1.导入必要的模块

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

2.生成数据

2.1构建数据生成函数
def data_generator(samples,random_seed=0):
	np.random.seed(random_seed)# 设置随机种子
	X=np.random.uniform(-5,5,size=samples)# 从-5到5中随机抽取100个实数
	y_real=0.5*X**3+X**2+2*X+1 #生成y的真实值
	err=np.random.normal(0,5,size=samples) #生成正态分布(均值为0,标准差为5的误差值)
	y=y_real+err #y真实值加上误差值,得到样本的y值
	return X,y,y_real
2.2生成训练集
X_train,y_train,y_train_real=data_generator(
	samples=100,random_seed=34)
# 画出训练集数据的散点图
plt.scatter(
	X_train,y_train,maker='o',
	color='g',label='train dataset')
# 画出实际函数曲线
plt.plot(np.sort(X_train),y_train_real[np.argsort(X_train)],color='b',label='real_curve')
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.show()

训练集数据散点图和实际曲线

2.3生成测试集
X_test,y_test,y_test_real=data_generator(
	samples=100
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值