【发布时间】:2019-07-27 21:27:18
【问题描述】:
你能帮帮我吗?我有适合不对称 sigmoid 函数的非线性数据。所以我生成了一个 sigmoid 函数。我已经在 curve_fit 函数中使用它来生成 beta1 和 beta2。但是我拥有的 sigmoid 函数只接受一个输入变量。是否有接受多个输入变量的 sigmoid 函数?这是我的 train_test_split、sigmoid 和 curve_fit 函数的代码:
X_train, X_test, y_train, y_test = train_test_split(df.drop('Montant TLPE', axis=1).values, df['Montant TLPE'].values, random_state=0, test_size=0.2)
def sigmoid(x, Beta_1, Beta_2):
y = 1 / (1 + np.exp(-Beta_1*(x-Beta_2)))
return y
from scipy.optimize import curve_fit
popt, pcov = curve_fit(sigmoid, np.array(X_train), np.array(y_train))
print(" beta_1 = %f, beta_2 = %f" % (popt[0], popt[1]))
非常感谢您的帮助。
【问题讨论】:
-
如果
x是一个列表,“多个输入变量”是什么意思? -
x 是具有标准化值的多列数据框
-
能否请您发布数据链接?
标签: scipy curve-fitting non-linear-regression sigmoid