这个函数的作用是将原始数据集转换为可以用于训练模型的格式。它接受三个参数:
- `dataset`:原始数据集,应该是一个二维数组,其中每行表示一个时间步长的数据。
- `look_back`:用于预测当前时间步长的过去时间步长数。
- `skip`:用于从过去时间步长中提取样本的间隔。
该函数返回三个数组:
- `TrainX`:形状为`(样本数量, 过去时间步长数, 特征数量)`的数组,表示用于预测当前时间步长的过去时间步长的数据。
- `TrainX2`:形状为`(样本数量, 过去时间步长数/skip, 特征数量)`的数组,表示用于计算注意力的过去时间步长的数据。
- `TrainY`:形状为`(样本数量, 特征数量)`的数组,表示当前时间步长的目标值。
例如,如果您有一个形状为`(100, 5)`的原始数据集,其中每行包含5个特征,您可以使用以下代码将其转换为可用于训练模型的格式:
```
look_back = 3
skip = 1
trainX, trainX2, trainY = create_dataset(dataset, look_back, skip)
```
这将返回三个数组`trainX`、`trainX2`和`trainY`,它们分别具有形状`(97, 3, 5)`、`(97, 3, 5)`和`(97, 5)`。这些数组可以用于训练模型。