将时间序列数据集转换为监督学习数据集

时间:2019-04-30 14:38:59

标签: python pandas time-series supervised-learning

我有一个时间序列(每天)的数据集,用于多个项目(例如用户)。 数据看起来像这样简化: https://i.ibb.co/Pj4TnHW/trans-original.jpg(由于缺少代表点,我无法发布图片,抱歉)

此数据集为每个用户具有所有相同的属性(例如度量)。这些措施是在每天的时间范围内采取的。每个用户都有自己的“活动日期”。

我的目标是将此时间序列(面向行)数据集转换为数据集,该数据集可用于监督学习。 我想要的布局看起来像这样: https://i.ibb.co/8DxYpCy/Unbenannt.jpg

目前,我将解决方案应用于具有约60个度量的数据集。 到目前为止,我通过在“ user_id”上进行迭代并使用pandas.melt(),pandas.transpose()函数应用了多个步骤来实现了这一目标。 但这需要大量的预格式化,并且在使用较大的数据集时会变慢。

有没有更好的方法来进行转换?我读到有关https://machinelearningmastery.com/convert-time-series-supervised-learning-problem-python/的信息,但这似乎是另一种问题...

// EDIT#1:根据要求,我创建了最小的笔记本/ python脚本,并使用简化的数据集来演示我在做什么:https://www.file-upload.net/download-13590592/timeseries_to_supervised.zip.html (Jupyter Notebook,导出的HTML版本,示例输入数据集)

1 个答案:

答案 0 :(得分:0)

我以前用R做这样的事情,这是一种设计精良的语言,用于处理行(功能编程)。您可以使用库datatable,它非常快。如果我可以问威奇专栏,您是否想预测?注意不要根据当前或未来数据预测结果,只能使用过去:)