首页 > 解决方案 > 在 Python 中使用机器学习分类预测时间窗口中的故障概率

问题描述

我想预测机器的故障。我拥有的数据是每天的数据,包含“运行分钟数”、“外部冲击次数”或“运营商名称”等信息。我创建了额外的因素来存储与时间相关的数据,即“自上次故障以来的累计运行分钟数”。请参阅下面的 df 以了解数据的样子

df = pd.DataFrame(
{"date" : ["2019/04/24" , "2019/04/25", "2019/04/26", "2019/04/27", "2019/04/28"],
"minutes in operation" : [200, 200, 200, 200, 200],
"accumulated minutes in operation since last break down" : [200, 400, 600, 800, 1000],
"breakdown" : [0, 0, 0, 0, 1]},
index = [1, 2, 3, 4, 5])

这个想法是,使用机器学习正确地将故障日与非故障日分类。每天的预测都很糟糕,这并不是特别糟糕,因为我不需要预测“它会在那一天失败”。如果我能预测它会“在接下来的三天内失败”,那就太好了。

因此,我考虑了两种解决方案:

  1. 将事件前 2 天标记为“1”(“细分”:[0, 0, 1, 1, 1])。有了这个,我产生了非常好的预测结果。
  2. 将连续 3 天聚合到一个观察行并在聚合级别上进行预测。

我想知道这是否是预测“在 3 天的时间窗口内发生事件”的正确方法,或者是否有更 ML-pythonic 的方法。

标签: pythonmachine-learningclassification

解决方案


推荐阅读