【问题标题】:What does 'maxfev' do in iPython Notebook?'maxfev' 在 iPython Notebook 中有什么作用?
【发布时间】:2016-01-24 17:01:58
【问题描述】:

我正在使用 curve_fit 函数来查找两个系数,但直到我将名为 maxfev 的东西更改为更大的值后才能得到结果,因为我的错误是“已达到 maxfev=600”,我进行了全面猜测并将maxfev=10000 添加到我的curve_fit 函数中,这似乎有效。 我的问题是:maxfev 是什么?它有什么作用,它是如何工作的,这对我的数据有何影响?

【问题讨论】:

  • 尽量不要把maxfev增加太多;这通常意味着配合本身有问题。你能发布你的数据和代码吗!?

标签: ipython curve-fitting jupyter


【解决方案1】:

函数 curve_fitleastsq 的包装器(均来自 scipy.optimize 库)。您正在调整的参数指定在程序试图找到局部最小值时允许更改您尝试拟合的模型的参数多少次(参见下面的示例)。

data = [(1,0),(2,1),(3,2),(4,3)...]
model = a*x+b

假设您将ab 初始化为0。程序尝试一次,获取给定的最小二乘数组,然后程序将尝试更改ab 并再次运行它。这会不断重复,直到找到 ab 的最佳值(产生最低的最小二乘,应该是 a=1b=-1)。

您的程序在更改 600 次参数后无法找到最佳值这一事实清楚地表明您正在拟合错误的模型。

PS:你的问题与IPython Notebook无关

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2015-12-01
    • 1970-01-01
    相关资源
    最近更新 更多