我最终决定开始学习机器学习,为此我尝试预测我所在城市的公共(public)自行车共享系统的自行车可用性。
- Dataset (1MB) 一个自行车站。列:日期、工作日、id、车站、free_bikes、free_docks
我一直在关注机器学习神秘的 tutorials使用 Keras,在本例中用于多元时间序列预测 LSTM,我认为这足以解决我的问题。
目前,我正在训练神经网络,为其提供:weekday(t-1)、free_bikes(t-1) 和 free_bikes(t)。
损失和val_loss graph我觉得看起来不错。如果我没记错的话,RMSE 为 0.9 时,我在进行预测时可能会出现错误或 1 辆自行车。
如果一切正确,我还想向 NN 提供样本采集日期,但我遇到了一些我不知道可以解决的问题。添加额外的列我收到这种错误:
ValueError:操作数无法与形状一起广播 (5949,2) (3,) (5949,2)
要将日期添加到问题中,我只需删除第 63 行读取文件时显示 index_col = 0
的部分即可。
添加日期来改进预测是否正确?应该如何完成?
最佳答案
行 values = Values.astype('float32')
将所有列转换为 float ,因此所有列都应采用类似数字的格式。
使用此行将您的 2 列 Weekday
转换为整数
values[:, 0] = 编码器.fit_transform(values[:, 0])
该行将第 0(第一)列设置为整数。这里你的第一列是日期。
解决方案: 只需将第二列转换为整数
在上述行之后添加此行
values[:, 1] = encoder.fit_transform(values[:, 1])
现在回答你的第二个问题
Is it correct to add the date to improve the prediction and how should it be done?
不,不是。您可以仅使用月份而不是时间日期
关于python - 预测自行车站的可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47617512/