我需要使用纵向健康记录数据来实现一个深度学习算法来预测一个称为“实体”的序数值。我阅读了一些文章和指南,但找不到关于如何组织输入数据的清晰解释或示例;我唯一了解的是,我需要使用专为此类问题设计的 LSTM 节点。为了澄清,让我举个例子,假设我有这张表:
| ID | N1 | C1 | B1 | 出去 |
|---|---|---|---|---|
| 2 | 25 | 3 | 0 | 1 |
| 2 | 32 | 4 | 1 | 2 |
| 2 | 52 | 1 | 0 | 1 |
| 3 | 12 | 2 | 1 | 2 |
| 3 | 56 | 4 | 0 | 1 |
| 3 | 73 | 3 | 1 | 3 |
| 3 | 12 | 2 | 1 | 2 |
该表包含不同类型的变量,例如数值、基数和布尔值;我需要教我的算法用纵向数据预测未来的输出(例如,如果我输入 ID=2 的前两行,则输出应该是 1,它位于 ID=2 的第三行)。
ID相同的行是来自同一个人的不同数据,在不同时间检查。
我知道 LSTM 在需要捕捉时间关系并且输入处于适当状态(样本、时间步长、特征)时是有用的层;鉴于我对如何处理和建模训练数据几乎没有疑问:
- 我的数据集在时间步长维度上不是同质的(人可能有不同的行数),但我认为有不同时间步长的张量是可以的,对吗?
- 如果上一个问题的答案是肯定的,我可以用同一患者的增长维度张量训练我的网络吗?例如(请注意,我想预测未来的出局):
train1 x:[25, 3, 0] -> label:2;
train2 x:[[25, 3, 0],[32, 4, 1]] -> label:1;
奖金)因为这是一个复杂的问题,我什至想知道我是否以错误的方式看待它,我应该把它当作一个有点回归问题,就像那个例子中的那个https://machinelearningmastery.com/multivariate-time-系列预测-lstms-keras/
为了对问题有不同的看法,假设医生通过查看当前情况和以前的访问对 Alice 进行分类,我想在算法中实现这种行为,这样当我有 Bob 当前情况和临床病史时,我可以做出预测对他来说也是基于我从爱丽丝的例子中学到的“规则”。我在 BONUS 问题中表达的另一种行为是,如果我想重现医生的学习模式,该模式查看如下图所示的图表,并学习如何预测另一位患者的 y 值趋势基于在 Alice 的图中学到的“规则”。
我正在使用 Keras 在 Python 上实现它,但我陷入了这个预处理阶段,无法继续。