对时间序列数据进行Tensorflow预测? (回归模型)

时间:2020-06-23 20:03:20

标签: python pandas tensorflow machine-learning

我已经尝试过使用浅层机器学习算法(Ridge回归)进行相同的练习,但是我想尝试一下神经网络。

我可以使用以下格式访问原始传感器数据。 (+10万行)

Timestamp    OilPressure     OilTemperature     RPM     FilterRestriction
0001         145             90                 1100    15
0002         140             92                 1100    15
0003         134             93                 1123    16
0004         143             91                 1135    14

此练习的标签是OilPressure,我已经在上面训练了以下模型。

model = keras.Sequential([
   layers.Dense(64, activation='relu', input_shape=[len(train_dataset.keys())]),
   layers.Dense(64, activation='relu'),
   layers.Dense(1)
])

我将原始数据集分为25%和75%,因为我想在原始25%上训练和测试模型,并将其用作“健康”设备的基准。因此,我按日期升序对数据集进行了排序,并相应地对其进行了拆分。

将25%的人进一步随机分配80%/ 20%进行火车测试。

生成的模型为我提供的MSE约为3 PSI ...

我现在想做的是在原始数据框中填充另一列,在这里我可以将实际的OilPressure与预测的OilPressure进行比较。预测将由经过25%训练的模型生成,但适用于未经训练或测试的85%。

我当时正在考虑应用lambda函数,但不确定是否可以使用,我可以定义其他类型的函数来接受OilTemperature,RPM和FilterRestriction,并将其传递给模型并吐出PredictedOilPressure吗?

这是我要实现的目标:

Timestamp    OilPressure     OilTemperature     RPM     FilterRestriction    PredictedOilPressure
1000         139             89                 1203    11                   141
1001         142             89                 1109    10                   142
1002         146             87                 1177    10                   147
1003         143             84                 1205    12                   144

1 个答案:

答案 0 :(得分:0)

为要进行预测的每条记录创建一个熊猫数据框。 (X_features),然后只需使用model.predict()函数即可进行预测。将结果另存为数据集中的列。

dataset['PredictedOilPressure'] = model.predict(X_features)