擅长:python、mysql、java
<p>假设您只关心循环,而不是将数据帧分成51个子部分,下面是我对您的问题的尝试:</p>
<p>假设您将OLS函数定义为:</p>
<pre><code>def OLSfunction(y):
y_train = traindf[y]
y_test = testdf[y]
from statsmodels.api import OLS
x_train = x_traindf
x_test = x_testdf
model = OLS(y_train, x_train)
result = model.fit()
print (result.summary())
pred_OLS = result.predict(x_test)
print("R2", r2_score(y_test, pred_OLS))
Y_s = ['1','2',.....'51']
for y in Y_s:
y=y
OLSfunction(y)
</code></pre>
<p>请注意,您必须为您要构建模型的特定Y适当地导出traindf和testdf。
这些必须正确地传递到OLSfunction。
因为我不知道你的数据是什么样子,所以我不打算拆分/创建traindf/testdf。。。在</p>