我需要使用 scikit-learn 训练一个模型来预测房间内人数较少的可能时间。
这是我的数据集的样子:
Time PeopleCount
---------------------------------------------
2019-12-29 12:40:10 50
2019-12-29 12:42:10 30
2019-12-29 12:44:10 10
2019-12-29 12:46:10 10
2019-12-29 12:48:10 80
and so on...
此数据的有效期为 30 天。
模型训练完成后,我将查询模型以获取上午 10 点到晚上 8 点之间房间里的人数可能会减少的时间。我期望机器学习模型能够以 30 分钟的精度做出响应,即。 “下午 3.00 至下午 3.30”
我可以使用什么算法来解决这个问题以及如何实现目标?或者除了 SciKit-Learn 之外还有其他 Python 库可以用于此目的吗?
我是机器学习新手,很抱歉问了一个天真的问题。
最佳答案
首先,时间序列预测的理论基础是当前值或多或少取决于过去值。例如,截至 2019 年 12 月 29 日 12:48:10 的人数为 80,必须对 12:46:10、12:44:20 或之前时间的人数产生强烈影响,与过去的人数相关值(value)观。如果没有,您最好使用其他算法进行预测。
虽然 scikit 包包含各种机器学习算法模块,但其中大多数专门针对分类算法。我认为如果你的日期没有被识别为时间序列类型的话,分类算法肯定能满足你的需求。实际上,scikit 也有一些回归模块,尽管我认为这似乎不太适合时间序列数据的预测。
在时间序列数据的预测中,RNN或LSTM算法(深度学习)已被广泛使用,但scikit没有提供其内置算法。因此,您最好学习 Tensorflow 或 Pytorch 框架,它们是帮助您构建 RNN 或 LSTM 模型的常用工具。
关于python - 使用 scikit learn 训练机器学习模型以进行时间序列预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59843700/