交通速度数据集处理与邻接矩阵生成:基于 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/10/18 0:19:57 阅读更多 →
Django音乐社交系统:数据模型、匹配算法与可视化实践

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

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

2026/10/18 0:20:01 阅读更多 →
2026年AI工具精选:从提示词工程到智能体工作流的实战指南

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

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

2026/10/18 0:30:10 阅读更多 →

最新新闻

中国水系SHP 1-5级数据处理实战:坐标系、属性清洗与河网分析

中国水系SHP 1-5级数据处理实战:坐标系、属性清洗与河网分析

简介:中国水系一级到五级数据集是一套面向GIS专业用户与科研工作者的矢量地理数据,按河流长度、流域面积及影响程度划分为从国家级大河到地方支流的多个等级。压缩包共包含二十七个文件,核心为四个shp矢量文件,用于存储河流线要素…

2026/10/18 17:48:46 阅读更多 →
Python因果推断实战:从数据集到可解释因果图与效应估计

Python因果推断实战:从数据集到可解释因果图与效应估计

简介:Python-Causality 是一套面向数据分析与机器学习从业者的数据集因果分析工具包,适合具备一定 Python 基础、希望从相关性分析进阶到因果推断的研究人员与数据科学家。它围绕结构方程模型、贝叶斯网络、格兰杰因果检验、倾向得分匹配、工具变量法与 …

2026/10/18 17:48:46 阅读更多 →
Mastercam数控车编程教程:从坐标系设置到生成G代码的全流程解析

Mastercam数控车编程教程:从坐标系设置到生成G代码的全流程解析

简介:Mastercam数控车编程教程中文版是一份面向数控加工初学者与车间编程人员的教学课件,系统讲解数控车床加工中的实际应用,帮助读者掌握从坐标系设定、几何建模到刀具管理的关键流程,尤其适合正在学习数控车编程或希望提升实操能…

2026/10/18 17:48:46 阅读更多 →
数模竞赛AI使用披露:XeLaTeX模板设计与长文档排版实战

数模竞赛AI使用披露:XeLaTeX模板设计与长文档排版实战

简介:这份资源是面向全国大学生数学建模竞赛参赛队伍的AI工具使用详情LaTeX模板,帮助团队规范记录、展示竞赛中各类人工智能工具的实际应用过程。模板支持可定制的AI模型环境,适配多款主流模型,并覆盖多种交互场景,便于…

2026/10/18 17:48:46 阅读更多 →
Android远程控制框架:设备注册→指令下发→本地执行闭环实现

Android远程控制框架:设备注册→指令下发→本地执行闭环实现

简介:本资源是一套基于Java语言开发的智能家居远程控制系统完整源码,面向Java初学者、物联网方向课程设计学生及嵌入式/智能硬件爱好者,解决家居设备跨网络远程控制与集中管理的实际问题。压缩包共247个文件,总大小2.68MB&#xf…

2026/10/18 17:48:46 阅读更多 →
HRNet人体姿态估计原理与工业部署实战指南

HRNet人体姿态估计原理与工业部署实战指南

简介:本资源为HRNet人体姿态检测模型的轻量级开源实现代码包,面向计算机视觉方向的开发者、算法工程师及深度学习初学者,解决高精度关键点定位与多尺度特征融合建模问题,适用于视频监控、人机交互、虚拟现实等实际场景。压缩包共3…

2026/10/18 17:47:45 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →