交通速度数据集处理与邻接矩阵生成:基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 (1)
交通速度数据集处理与邻接矩阵生成基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南文章目录交通速度数据集处理与邻接矩阵生成基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 交通速度数据集处理与邻接矩阵生成基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 数据集结构与文件说明文件目录结构 一、原始数据加载与预处理1. generate_training_data.py 示例METR-LA 二、滑动窗口划分训练、验证、测试集2. sliding_window_split.py 三、根据距离和连接关系生成邻接矩阵3. adjacency_matrix.py 四、将 .npz 文件转换为 .csv 文件以便查看4. npz_to_csv.py注意事项 六、参考交通速度数据集METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M含原始数据通过滑动窗口划分train、val、test数据代码根据距离和连接关系生成邻接矩阵代码。添加了npz_to_csv代码目的是查看数据 交通速度数据集处理与邻接矩阵生成基于 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M 的完整代码指南 数据集结构与文件说明文件目录结构traffic_speed_dataset/ ├── METR-LA/ │ ├── generate_training_data.py │ └── metr-la.h5 ├── PEMS-BAY/ │ ├── generate_training_data.py │ └── pems-bay.h5 └── utils/ ├── npz_to_csv.py ├── sliding_window_split.py └── adjacency_matrix.py 一、原始数据加载与预处理1.generate_training_data.py示例METR-LAimporth5pyimportnumpyasnpdefload_traffic_data(file_path):withh5py.File(file_path,r)asf:dataf[data][:]timestampsf[date][:]returndata,timestampsif__name____main__:file_pathmetr-la.h5data,timestampsload_traffic_data(file_path)print(fData shape:{data.shape})print(fTimestamps shape:{timestamps.shape}) 二、滑动窗口划分训练、验证、测试集2.sliding_window_split.pyimportnumpyasnpdefsliding_window_split(data,window_size,stride1,train_ratio0.6,val_ratio0.2):n_samples(len(data)-window_size)//stride1X[]y[]foriinrange(0,n_samples*stride,stride):X.append(data[i:iwindow_size])y.append(data[iwindow_size])Xnp.array(X)ynp.array(y)# 划分训练、验证、测试集total_sizelen(X)train_sizeint(total_size*train_ratio)val_sizeint(total_size*val_ratio)X_train,y_trainX[:train_size],y[:train_size]X_val,y_valX[train_size:train_sizeval_size],y[train_size:train_sizeval_size]X_test,y_testX[train_sizeval_size:],y[train_sizeval_size:]return(X_train,y_train),(X_val,y_val),(X_test,y_test)if__name____main__:datanp.random.rand(1000,10)# 示例数据实际应替换为真实数据window_size12(X_train,y_train),(X_val,y_val),(X_test,y_test)sliding_window_split(data,window_size)print(fTrain set shape:{X_train.shape},{y_train.shape})print(fValidation set shape:{X_val.shape},{y_val.shape})print(fTest set shape:{X_test.shape},{y_test.shape}) 三、根据距离和连接关系生成邻接矩阵3.adjacency_matrix.pyimportnumpyasnpimportscipy.sparseasspdefgenerate_adjacency_matrix(distance_file,sensor_ids,normalized_k0.1): Generate an adjacency matrix from a list of distances. :param distance_file: str, path to the txt file containing sensor distances. :param sensor_ids: list, list of sensor IDs. :param normalized_k: float, parameter for normalization. :return: np.ndarray, adjacency matrix. withopen(distance_file,r)asf:linesf.readlines()num_sensorslen(sensor_ids)dist_mxnp.zeros((num_sensors,num_sensors),dtypenp.float32)dist_mx[:]np.infforlineinlines:_,sensor_id,neighbor_sensor_id,distanceline.strip().split( )ifsensor_idnotinsensor_idsorneighbor_sensor_idnotinsensor_ids:continuedist_mx[sensor_ids.index(sensor_id)][sensor_ids.index(neighbor_sensor_id)]float(distance)dist_mx[sensor_ids.index(neighbor_sensor_id)][sensor_ids.index(sensor_id)]float(distance)distancesdist_mx[~np.isinf(dist_mx)].flatten()stddistances.std()adj_mxnp.exp(-np.square(dist_mx/std))# Make the adjacent matrix symmetric by taking the max.adj_mxnp.maximum.reduce([adj_mx,adj_mx.T])# Sets entries that lower than a threshold, i.e., k, to zero for sparsity.adj_mx[adj_mxnormalized_k]0returnadj_mxif__name____main__:distance_filedata/sensor_graph/adj_mx.txt# 替换为你的距离文件路径sensor_ids[sensor_1,sensor_2,sensor_3]# 替换为你的传感器ID列表adj_mxgenerate_adjacency_matrix(distance_file,sensor_ids)print(Adjacency Matrix:\n,adj_mx) 四、将.npz文件转换为.csv文件以便查看4.npz_to_csv.pyimportnumpyasnpimportpandasaspddefnpz_to_csv(npz_file,csv_file):datanp.load(npz_file)dfpd.DataFrame(datadata[arr_0])df.to_csv(csv_file,indexFalse)if__name____main__:npz_filedata.npz# 替换为你的 .npz 文件路径csv_filedata.csv# 输出的 .csv 文件路径npz_to_csv(npz_file,csv_file)print(fConverted{npz_file}to{csv_file})注意事项确保所有依赖项已安装numpy,pandas,scipy,h5py。根据实际数据集调整参数如window_size,stride,normalized_k等。对于不同的数据集如 METR-LA、PEMS-BAY、PEMSD7L、PEMSD7M可能需要调整部分代码以适应其特定格式和特性。 六、参考METR-LA 数据集官方文档PEMS-BAY 数据集官方文档Scikit-learn 官方文档NumPy 官方文档Pandas 官方文档

相关新闻

UE5集成RTSP视频流:InVideo插件实战指南与性能优化

UE5集成RTSP视频流:InVideo插件实战指南与性能优化

1. 项目概述与核心价值 如果你正在用UE5做数字孪生、虚拟演播室、安防监控可视化或者任何需要接入实时监控画面的项目,那么“如何把RTSP视频流弄进UE5里”这个问题,大概率已经让你头疼过了。传统的做法,要么是写一堆C代码去调用FFmpeg或者VLC…

2026/8/7 7:44:27 阅读更多 →
Django音乐社交系统:数据模型、匹配算法与可视化实践

Django音乐社交系统:数据模型、匹配算法与可视化实践

这类项目最值得先看的不是功能列表,而是它到底能不能把“音乐匹配”、“社交关系”和“数据可视化”这三件事在一个Django项目里跑通,并且让数据流动起来。很多人一上来就想做复杂的推荐算法,结果卡在基础的数据模型设计、好友关系实现和前后…

2026/8/7 7:44:27 阅读更多 →
2026年AI工具精选:从提示词工程到智能体工作流的实战指南

2026年AI工具精选:从提示词工程到智能体工作流的实战指南

1. 项目概述:一份面向未来的AI应用导航大家好,我是CurateClick的创始人兼主编。从2022年开始,我每周都会花大量时间泡在各类AI社区、开发者论坛和产品发布页,手动筛选、测试、记录那些真正有价值的AI工具和应用。这个过程枯燥但充…

2026/8/7 7:44:27 阅读更多 →

最新新闻

天猫改价系统:驱动级硬件伪装,平台检测维度再全也查不出

天猫改价系统:驱动级硬件伪装,平台检测维度再全也查不出

天猫改价系统:驱动级硬件伪装,平台检测维度再全也查不出 每次有人问我店群怎么做大,我就一句话:天猫的极速自动改价,是店群运营中最耗人力也最容易出错的环节。 电商价格战是分钟级的。竞品降价了你5分钟内不跟&…

2026/8/7 8:26:47 阅读更多 →
医院病房护理呼叫 | 解决床位信号卡顿的工业级嵌入式硬件解决方案

医院病房护理呼叫 | 解决床位信号卡顿的工业级嵌入式硬件解决方案

引言 据2025年国内医疗信息化行业调研数据显示,全国三 级医院病房护理呼叫系统覆盖率已达92.7%,但临床运维数据显示,约41%的病区存在床位呼叫信号卡顿、丢包等问题,高峰时段呼叫响应延迟平均可达1.2秒,直接影响护理响…

2026/8/7 8:26:47 阅读更多 →
Windows安装MinGW-w64完整指南:从下载配置到编译测试

Windows安装MinGW-w64完整指南:从下载配置到编译测试

1. 项目概述:为什么我们需要MinGW?如果你刚开始接触C或C编程,尤其是在Windows系统上,可能会被一个词搞懵:MinGW。它不像Visual Studio那样有个漂亮的安装界面,也不像一些集成环境那样开箱即用。但当你需要编…

2026/8/7 8:26:47 阅读更多 →
Unity 2D智能追踪导弹:向量数学与平滑转向实现详解

Unity 2D智能追踪导弹:向量数学与平滑转向实现详解

1. 项目概述:从直线飞弹到智能猎手 在2D射击、塔防或者动作游戏中,一个只会直线前进的飞弹,其威慑力和趣味性都相当有限。玩家和开发者都渴望看到更“聪明”、更具视觉表现力的攻击方式——一枚能够划出优美弧线,像猎犬一样死死咬…

2026/8/7 8:26:47 阅读更多 →
电赛小车开源代码实战:从快速启动到工程化调试与创新

电赛小车开源代码实战:从快速启动到工程化调试与创新

1. 先搞清楚“28秒”到底解决了什么核心问题 看到“28秒摩擦电赛小车题”这种标题,很多人的第一反应是“这么快?怎么做到的?”。但更关键的问题是,这个“快”到底指的是什么?是代码开发快,还是算法调试快&a…

2026/8/7 8:26:47 阅读更多 →
三、AI重塑网络安全攻防格局——冲击、风险与进化路径

三、AI重塑网络安全攻防格局——冲击、风险与进化路径

一、从PromptLock说起 2025年8月,我在刷安全资讯时,被一个名字刺了一下眼睛——PromptLock。这不是某个新发布的AI绘画工具,而是网络安全领域确认的首个在真实攻击中利用AI驱动的勒索软件。它的可怕之处不在于加密强度,而在于它利…

2026/8/7 8:25:46 阅读更多 →

日新闻

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南

为什么scrcpy成为Android投屏的终极解决方案:完整实战指南 【免费下载链接】scrcpy Display and control your Android device 项目地址: https://gitcode.com/GitHub_Trending/sc/scrcpy 想要将Android手机屏幕完美投射到电脑上,享受大屏操作的自…

2026/8/7 0:00:19 阅读更多 →
如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南

如何在5分钟内掌握Tom Select:打造现代化表单选择器的终极指南 【免费下载链接】tom-select Tom Select is a lightweight (~16kb gzipped) hybrid of a textbox and select box. Forked from selectize.js to provide a framework agnostic autocomplete widget wi…

2026/8/7 0:00:19 阅读更多 →
5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件

5分钟快速上手:NSZ压缩工具终极指南,轻松管理Switch游戏文件 【免费下载链接】nsz NSZ - Homebrew compatible NSP/XCI compressor/decompressor 项目地址: https://gitcode.com/gh_mirrors/ns/nsz 你是否在为Nintendo Switch游戏文件占用大量存储…

2026/8/7 0:00:19 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/6 22:02:27 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/6 22:02:28 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →