LibCity / Bigscity-LibCity

LibCity: An Open Library for Urban Spatial-temporal Data Mining
https://libcity.ai/
Apache License 2.0
871 stars 159 forks source link

如何保存模型预测结果并对模型预测结果做误差下降曲线? #392

Open 114lv opened 6 months ago

114lv commented 6 months ago

libcity开发团队同学和老师您好:我当前预测对象是共享单车站点级借还车使用量,使用libcity中包含的GRU模型进行训练,训练好的模型和评测结果是分别保存在libcity/cache/model_cache/和libcity/cache/evaluate_cache/下,我想请教一下如何得到模型测试集输出的预测值和真实值以供进一步作图或者某些单个站点分析。./ibcity/cache/evaluate_cache/地址中csv文件是模型对未来时间步的预测评估指标(比如MAE,MSE等),但是在做后续分析时是希望能够获得测试集上不同实体站点对应的预测值和真实值输出;该地址下另外一个npz文件中的预测和真实值均为四维张量结构(batch size, input window, station number, feature num),请问如何将这个数据展现,可能是需要在TrafficStateExecutor的evaluator函数做相应修改,希望得到您的帮助和解决,感谢作者团队。

luiluizi commented 6 months ago

您好,首先四维张量的第一维是数据组数,即是将所有的batch并在了一起;第二维是output_window也就是未来时间步长,您可以根据您的具体需要在./ibcity/traffic_state_executor.py中evaluate函数(268行)处添加处理数据的代码,也可以直接根据需要处理这个npz文件

114lv commented 6 months ago

谢谢回复,因为npz文件中不包含站点id和时间戳信息,因此输出的值是难以识别对应“时空”信息的,请问如何处理这个问题?此外对于上述提出的第一个问题,是否可以提供一些代码demo以供学习如何处理张量数据。谢谢你的帮助和解答

114lv commented 6 months ago

此外,输出npz文件中期望获得的是测试集预测值和真实值,这是包含全部batch size和时间步长吗?当前数据结构和期望获得数据格式关系是怎样的或者是如何转换的?希望得到您的解答