小编use*_*932的帖子

scipy非线性曲线拟合中的过拟合

我有一个模型方程式,我们称它为eq_m:

eq_m

我知道我的数据集如下,因此我试图将数据拟合到eq_m,以便可以使用拟合的参数来预测新数据。

但是,此eq_m是非线性的,因此我使用scipy的curve_fit来获取lambda,mu,sigma参数值,并使用以下代码段:

opt_parms, parm_cov = o.curve_fit(eq_m, x, y,maxfev=50000)
lamb , mu, sigm = opt_parms
Run Code Online (Sandbox Code Playgroud)

我在应该遵循该模型的各种数据组上运行此模型,而55/60则给了我很好的结果,但是其余5组非常适合,并且预测的参数具有高正值。有没有办法使用scipy / numpy或scikit-learn来规范曲线拟合并惩罚高幅值参数值?

我的主管建议使用共轭先验,但我不知道如何在此处这样做。

谁能帮我这个忙吗?如果我必须提供解决这个问题的猜测,是否可以有人告诉我如何计算这些猜测?

python curve-fitting scipy scikit-learn non-linear-regression

3
推荐指数
1
解决办法
751
查看次数