如何为一个包含大约500列y变量的文件创建线性回归模型?使用Python

2024-10-02 00:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

这段代码从y表中手动选择一列,然后将其联接到X表。然后程序执行线性回归。知道如何对y表中的每一列执行此操作吗

yDF = pd.read_csv('ytable.csv')
yDF.drop('Dates', axis = 1, inplace = True)
XDF = pd.read_csv('Xtable.csv')
ycolumnDF = yDF.iloc[:,0].to_frame()
regressionDF = pd.concat([XDF,ycolumnDF], axis=1)

X = regressionDF.iloc[:,1:20]
y = regressionDF.iloc[:,20:].squeeze()

lm = linear_model.LinearRegression()
lm.fit(X,y)
cf = lm.coef_
print(cf)

Tags: csv代码read线性手动cfpdlm
1条回答
网友
1楼 · 发布于 2024-10-02 00:21:17

您可以在同一时间对同一X上的多个y进行回归。像这样的东西应该有用

import numpy as np
from sklearn.linear_model import LinearRegression

df_X = pd.DataFrame(columns = ['x1','x2','x3'], data = np.random.normal(size = (10,3)))
df_y = pd.DataFrame(columns = ['y1','y2'], data = np.random.normal(size = (10,2)))
X = df_X.iloc[:,:]
y = df_y.iloc[:,:]
lm = LinearRegression().fit(X,y)
print(lm.coef_)

产生

[[ 0.16115884  0.08471495  0.39169592]
 [-0.51929011  0.29160846 -0.62106353]]

这里的第一行([ 0.16115884 0.08471495 0.39169592])是xs上y1的回归系数,第二行是xs上y2的回归系数

相关问题 更多 >

    热门问题