【发布时间】:2020-06-23 20:03:20
【问题描述】:
我用浅层机器学习算法(岭回归)尝试了同样的练习,但我想尝试一下神经网络。
我可以访问以下格式的原始传感器数据。 (+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...
我现在想做的是用另一列填充原始数据框,我可以在其中将实际油压与预测油压进行比较。预测将由经过 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
【问题讨论】:
-
为什么不直接预测整个数据集,然后简单地将预测结果作为新列添加到现有数据框中?
标签: python pandas tensorflow machine-learning