0
一個多變量方程我具有以下形式的公式:優化在python
Z =一個X + B Y + C
其中x,y,z是變量並且a,b ,c是常數。
我想找到的,b和c的最佳值。在python中做這件事最好的方法是什麼? optimize.curve_fit
只適用於兩個變量,而不是三個。
一個多變量方程我具有以下形式的公式:優化在python
Z =一個X + B Y + C
其中x,y,z是變量並且a,b ,c是常數。
我想找到的,b和c的最佳值。在python中做這件事最好的方法是什麼? optimize.curve_fit
只適用於兩個變量,而不是三個。
你在做迴歸嗎?如果是這樣,optimize.curve_fit
作品兩個以上的變量,你只需要通過你的變量列表:
def line(x, a, b, c):
return a * x[0] + b * x[1] + c
from scipy.optimize import curve_fit
import numpy as np
x = np.random.uniform(0., 100., 100)
y = np.random.uniform(0., 200., 100)
z = 3. * x + 2. * y + np.random.normal(0., 10., 100)
popt, pcov = curve_fit(line, [x, y], z)
print(popt)
結果:
array([ 2.99156418, 2.00992449, -0.2434515 ])
是變量實數?因爲在這種情況下,根據'a'和'b'的歌詞,'x'和'y'永遠是正無限或負無窮...... –
什麼定義了這個應用程序的「最優」? – Prune
是的,這是一個迴歸問題。 'x','y'和'z'是已知的數據,所以我試圖最小化已知'z'和'ax + by + c'之間的差異 – 218