在使用sklearn管道的同时,使用多组的多元时间序列在Keras中训练LSTM模型

2024-05-20 21:28:02 发布

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

我知道这个头衔很难。我已经做了大量的研究和修补工作,但还不能完全正确地完成完整的解决方案

问题:我有2000个输入时间序列,它们都具有相同数量的特征(比如50个),但时间长度可变。每个时间步长为1秒,每个输入组代表不同的体育赛事(即网球比赛)。正如您可能想象的那样,2000场输入比赛中的每一场都会有不同的长度,因为一场网球比赛可能需要2小时才能完成,而另一场可能需要3小时,等等。这些特征是从一名球员的角度来看的(即,让我们称之为比赛中第一个发球的球员),目标是该球员是否赢得了比赛

我想使用Tensorflow/Keras训练一个LSTM分类器,在进行推理时,该分类器能够根据部分比赛数据预测比赛结果(1代表胜利,0代表失败)(即,假设网球比赛时间为1小时,第一个服务器赢得比赛的概率是多少。)比赛中的球员不应该是一个功能,因为我试图利用所有可用的时间来运行推理

问题:我无法理解如何预处理数据以利用所有不同比赛的训练时间序列。我不能将所有数据连接在一起,因为排序没有意义——数据的排序只在组(匹配)内有意义。此外,我还使用sklearn管道加载了Keras LSTM模型。我想使用sklearn管道来简化预处理步骤,但我不知道如何利用管道来实现这一点。我成功地将管道用于标准神经网络,其中我有一个大的训练2D矩阵,但这里我有一个3D矩阵,其中每个矩阵表示给定匹配的输入数据,并具有大小时间长度x num特征。在这里,时间长度是可变的,尽管我在上面提到过。有没有关于如何开始的想法或解决这些问题的一些技巧


Tags: 数据利用管道排序分类器时间代表序列