如何在 Python 中优化多元函数

How to optimize multivariate functions in Python

我有这个数据框:

其中:

x: independent variable
y: independent variable
z: dependent variable

如何在 Python 中找到最佳的“a”和“b”参数,以便优化此函数:

z = a*sin(x) + b*sin(y)

我知道最优解是:

a = 0
b = 1

但是我应该使用什么 Python 代码?我想我应该使用 scipy 优化,但我只能将其与一个自变量一起使用。

您可能需要考虑 sklearn:

假设您的数据框名为 df,您可能要做的第一件事是创建一个包含 x,y 正弦变换的变量 X,例如

from math import sin


X = [[sin(x), sin(y)] for x, y in zip(df.x, df.y)]

然后是一个变量 Zdf.z.

最后,您可以使用sklearn进行线性回归拟合,例如

from sklearn.linear_model import LinearRegression

reg = LinearRegression().fit(X, Z)