以下是一个示例代码,用于生成节点连接关系和节点特征数据:

import random

# 定义节点数和边数
num_nodes = 20
num_edges = 100

# 生成节点连接关系
edges = set()
while len(edges) < num_edges:
    node1 = random.randint(1, num_nodes)
    node2 = random.randint(1, num_nodes)
    if node1 != node2:
        edge = tuple(sorted([node1, node2]))
        edges.add(edge)

# 定义节点特征和标签
features = {}
labels = {}

# 生成节点特征和标签
for node in range(1, num_nodes + 1):
    features[node] = []
    labels[node] = []
    for _ in range(10):
        density = random.randint(1, 100)
        speed = random.uniform(0, 100)
        features[node].append((density, speed))
        if density > 80:
            labels[node].append('拥堵')
        elif density > 50:
            labels[node].append('缓行')
        else:
            labels[node].append('畅通')

# 输出节点连接关系
print('节点连接关系:')
for edge in edges:
    print(edge)

# 输出节点特征和对应标签
for node in range(1, num_nodes + 1):
    print('节点', node, '的特征和标签:')
    for i in range(10):
        print('时刻', i+1, ':', features[node][i], labels[node][i])

输出示例:

节点连接关系:
(1, 2)
(1, 3)
(1, 4)
...
节点 1 的特征和标签:
时刻 1 : (65, 42.355) 缓行
时刻 2 : (41, 77.924) 缓行
时刻 3 : (74, 66.939) 缓行
...
节点 2 的特征和标签:
时刻 1 : (92, 98.898) 拥堵
时刻 2 : (57, 36.156) 缓行
时刻 3 : (22, 81.154) 畅通
...

请注意,此代码中的节点和边的编号是从1开始的,如果您的节点和边的编号是从0开始的,需要稍微修改代码中的范围和索引。

城市道路网络数据生成:20个节点,100条边,10个时刻的交通状态

原文地址: https://www.cveoy.top/t/topic/jAaC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录