python线性拟合numpypolyfit,python自定义多元函数拟合

  python线性拟合numpypolyfit,python自定义多元函数拟合

  你的直觉是正确的。这个问题可以用方程式的形式来解决。等式的形式是ax=b。at

  但由于系统定义太多,最需要的是sfdts平方解,所以要用np.linalg.lstsq代替{}。

  不能使用Polyval,因为参数的系数和幂必须分开。

  这是如何构造来求解方程:a=NP.stack([x1**0,x1**1,x1**2,x1**3,x1**4,x2**0,x2**1,x2**2,x2

  xx=NP。LinaLG.lstsq(a,y ) [0]

  Print (fitness (xx))使用原始适应度函数测试结果

  当然,度可以概括为:

  ^{pr2}$

  对于样本数据,sfdts乘法比minimize解决方案快得多(在我的笔记本电脑上,前者为800毫秒,后者为35毫秒)。但是,A可能会变得很大,所以如果内存是个问题,最小化可能仍然是一个选项。在

  更新:

  如果不知道多项式函数的内部,事情会变得麻烦,但是可以把项和系数分开。下面描述如何从类似polyval的函数构造系统矩阵A。defconstruct_a(valfunc,degree):

  列1=[]

  columns2=[]

  对于范围(度) :

  c=NP。零(度)

  c[p]=1

  columns1.append(valfunc ) x1,c))

  columns2.append(valfunc ) x2,c))

  返回NP.stack (columns1columns2)。t

  a=construct _ a (NP .多项式.多项式. poly val,5))))))))))))).) ) ) ) ) )

  xx=NP。LinaLG.lstsq(a,y ) [0]

  Print (fitness (xx))使用原始适应度函数测试结果

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: