我已经尝试过使用浅层机器学习算法(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
答案 0 :(得分:0)
为要进行预测的每条记录创建一个熊猫数据框。 (X_features),然后只需使用model.predict()函数即可进行预测。将结果另存为数据集中的列。
dataset['PredictedOilPressure'] = model.predict(X_features)