繁体   English   中英

如何为具有大约 500 列作为 y 变量的文件创建线性回归 model? 使用 Python

[英]How do I create a linear regression model for a file that has about 500 columns as y variables? Working with 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)

您可以同时在同一个 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] ) 是y1在 xs 上的回归系数,第二行是y2在 xs 上的回归系数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM