欠拟合与过拟合解释实例–多项式拟合
目录:
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)
y_real=0.5*X**3+X**2+2*X+1
err=np.random.normal(0,5,size=samples)
y=y_real+err
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