通过sklearn和pandas对单个CSV文件进行多次回归

时间:2016-10-26 13:49:49

标签: python pandas scikit-learn

我有一个名为“data.csv”的CSV文件。它有五列T,A,B,C和D

对于(A,B,C)的每个元组,我的文件中有七个数据条目,对应七个不同的时间实例T.

我希望在时间序列T上对每个元组(A,B,C)执行线性回归,以使用scikit-learn库在下一个时间实例上预测数据D.选择数据并进行回归的最有效方法是什么?

CSV文件的大小为3.2 GB,但我只有4GB的RAM。我试图立即加载完整的文件,但我的机器无法应对:P

我使用pandas处理文件,使用sklearn进行回归。

1 个答案:

答案 0 :(得分:1)

对于回归模型,我建议SGDRegressor():http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html 您可以加载一小部分数据并使用partial_fit进行训练:

from sklearn.linear_model import SGDRegressor
model = SGDRegressor()
model.partial_fit(features, label)

对于功能,它真的取决于问题。您可以使用当前时间步长的值(A,B,C)或大小为N的时间窗口内的所有过去值(A,B,C)。您还可以在之前的时间步骤中添加预测值D.作为特色。

除了回归之外,您可能希望看一下此类问题的隐马尔可夫模型(HMM)或递归神经网络(RNN)。