【发布时间】:2020-05-22 16:26:14
【问题描述】:
我一直在遍历数组字典,并对字典中的每个数组元素应用线性回归。
from sklearn.linear_model import LinearRegression
model = LinearRegression()
for i in my_dict.keys():
test = model.fit(x_val.reshape(-1,1), my_dict[i].reshape(-1,1))
coeff = float(test.coef_)
intercept = float(test.intercept_)
my_dict[i] = lambda x: coeff * x + intercept
在每次迭代中,我都非常有信心将适当的系数和截距分配给 lambda 函数。但是,似乎字典中每个存储的 lambda 函数都在使用系数并截取字典中的“最后一个”键。我似乎无法解释为什么会这样。谢谢!
编辑:我知道我可以将线性回归器对象分配给每个键,而不是使用 lambda 函数(我只是更喜欢 lambda 函数)。然而,这并没有解决这个问题。
【问题讨论】:
标签: python dictionary for-loop lambda scikit-learn