我有一只熊猫的数据图,里面有300个设备的热量,这些设备都是在外部温度上绘制的,如下所示:
现在,我想对所有300 heatig_devices做一个线性回归(ß0+ 1*x1),温度范围为2到3.5。所以x是外部温度,y是heating_device输出,在最后,我希望每个加热设备都有一个回归系数1。最好的方法是什么?
发布于 2022-09-05 14:21:15
只需使用来自LinearRegression的sklearn.linear_model计算每一列的系数。
for i in range(300):
t = LinearRegression().fit(df[['outside temperature']], df[['heating_device'+str(i+1)]])
print(i + 1, t.coef_[0], t.intercept_[0])现在它将打印每一列的系数。
发布于 2022-09-05 14:16:37
您应该提供一些可行的代码,但来自numpy 文档。
x = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z = np.polyfit(x, y, 1) #1 is the fitting order i.e. degree of polynomial
z对于线性情况,您将得到两个参数slope和intercept。
如果您读取文档,那么y可以是一个2D的numpy数组。在你的例子中,y是加热值,x是温度。
https://stackoverflow.com/questions/73610622
复制相似问题