不易损坏类型:'努比·恩达雷'用于优化

2024-09-30 04:29:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在执行优化以找出最佳拟合线,使用scipy.optimize公司库,到我生成的数据集。但是我得到了一个错误“不可悲的类型:”努比·恩达雷'“

import numpy as np
import pandas as pd
import scipy.optimize as spo
import matplotlib.pyplot as plt

def error(data, line):
    error=np.sum((data[:,1]-(line[0]*data[:,0]+line[1]))**2)
    return error

def fit_line(data, error_func):
    l=np.float32([0, np.mean(data[:,1])])
    min_result=spo.minimize(error_func, l, args={data,}, method="SLSQP", options={"disp":True})
    return min_result.x

if __name__=="__main__":
    l_orig=np.float32([4,2])
    xorig=np.linspace(0,10,21)
    yorig=l_orig[1]*xorig + l_orig[0]

    np.random.seed(788)
    noise=np.random.normal(0, 3.0, yorig.shape)
    data=np.asarray([xorig, yorig+noise]).T

    result=fit_line(data, error)

Tags: importdatareturndefasnplineerror
1条回答
网友
1楼 · 发布于 2024-09-30 04:29:52

函数^{}接受额外参数的元组,而不是集合。更改:

min_result=spo.minimize(error_func, l, args={data,}, method="SLSQP", options={"disp":True})

收件人:

^{pr2}$

相关问题 更多 >

    热门问题