когда я застрял здесь, я также пересмотрел свои коды, включив в них использование optuna – и похоже, что optuna работает лучше, чем Curve_fit. >
----- обновления 1:
Проблема была связана с «maxfev», и она была решена после того, как я увеличил значение «maxfev». по какой-то причине, которую я не знаю, на моей машине scipy не вызвал у меня никаких исключений - я переустановлю scipy.
Спасибо всем, кто помог мне диагностировать эту проблему .
----- исходное сообщение:
Я хотел использовать scipy.optimize.curve_fit, чтобы соответствовать данным, и Мне нужно уместить более 10 000 наборов данных, поэтому я использовал цикл for для запуска Curve_fit 10 000 раз. Однако функция Curve_fit успешно работала только в течение первых 49 итераций, а после этого Curve_Fit перестала работать, а точнее, функция Curve_Fit ничего не возвращала и не вызывала любые исключения или предупреждения. В чем может быть причина и как это исправить?
Я привел свой код ниже. Когда я запускаю его, он печатает i до 48, а затем выходит из цикла for. Никаких ошибок, предупреждений, возвращаемых значений и прочего нет.
Код: Выделить всё
def irt(x, alpha, beta):
return 1 / (1 + np.exp(0 - alpha * (x - beta)))
for i in range(10000):
""" I did something here to process the data, and these lines are skipped for simplicity """
popt, pcov = scipy.optimize.curve_fit(irt, xdata[i], ydata[i], p0=[1.0, 0.5], full_output=False)
print(i)
Код: Выделить всё
theta = np.array([0.80748663, 0.86585366, 0.8245614 , 0.79310345, 0.63513514, 0.82926829, 0.73684211, 0.91358025, 0.79310345, 0.81818182])
correct = np.array([0., 1., 1., 1., 1., 1., 1., 0., 1., 1.])
ress = scipy.optimize.curve_fit(irt, theta, correct, p0=[1.0, 0.8181818181818182])
ress
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition 2022.3.3\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode
coro = func()
^^^^^^
File "", line 1, in
NameError: name 'ress' is not defined.

, он ничего не вернул:
Подробнее здесь: https://stackoverflow.com/questions/790 ... iterations