使用 scikit-learn 和列表进行数据预测

数据挖掘 机器学习 Python scikit-学习
2021-09-27 14:06:19

我有一组列表,详细说明了不同时间段的温度。我的目标是使用机器学习来识别机器打开和关闭的时间段,打开机器会急剧增加温度,关闭机器会使其恢复到空闲温度。

问题在于存在一定程度的温度惯性——以下面的例子为例。

我的控制数据中有以下列表(为简单起见截断):

每隔几分钟,温度就会从 73 度开始。12 分钟后关闭,温度为 83 度。然而,在停止点后 3 分钟达到峰值,即 86 度。

给定一个带有标记的开始、结束和峰值的列表的控制组,我将如何使用监督学习来创建一种算法,该算法可以使用只有开始和峰值的列表来预测停止?

2个回答

有两种流行的方法:

  1. 使用传统的有监督二元分类算法(例如,逻辑回归或随机森林)对其进行建模并生成特征(例如,回溯 1 步、回溯 2 步……)

  2. 使用隐马尔可夫模型 (HMM) 对其进行建模。隐藏状态是机器开启或关闭。观察到的状态是温度。给定观察到的状态,最有可能产生它的隐藏状态是什么?

由于这基本上是时间序列数据,因此您可以创建一个具有密集输出层的 LSTM 网络,用于二进制分类。假设您的时间序列数据是绑定的,您首先需要对其进行规范化,如果不是,则使其静止,并简单地在您的数据上训练一个单变量 LStm 模型。