城市交通网络数据生成示例:20个节点、10个时刻
import random
# 生成20个节点的连接关系,共100条无向边且无重复边
edges = []
while len(edges) < 100:
node1 = random.randint(1, 20)
node2 = random.randint(1, 20)
if node1 != node2 and (node1, node2) not in edges and (node2, node1) not in edges:
edges.append((node1, node2))
# 生成10个时刻20个节点的特征和对应标签
data = []
for i in range(10):
features = []
labels = []
for node in range(1, 21):
density = random.uniform(10, 100) # 车辆密度
speed = random.uniform(20, 100) # 平均车速
if density > 80 and speed < 40:
label = '拥堵'
elif density > 50 and speed < 60:
label = '缓行'
else:
label = '畅通'
features.append((density, speed))
labels.append(label)
data.append((features, labels))
# 输出节点连接关系
print('节点连接关系:')
for edge in edges:
print(edge)
# 输出节点特征和对应标签
for i, (features, labels) in enumerate(data):
print('时刻', i+1, ':')
print('节点特征:')
for j, (density, speed) in enumerate(features):
print('节点', j+1, ':车辆密度:', density, ',平均车速:', speed)
print('标签:')
for j, label in enumerate(labels):
print('节点', j+1, ':交通拥堵程度:', label)
print()
这段代码首先使用随机数生成器生成了20个节点的连接关系,确保共有100条无向边且无重复边。然后,使用随机数生成器生成了10个时刻20个节点的特征和对应标签,其中车辆密度和平均车速的范围根据实际情况进行了设定,并根据车辆密度和平均车速的值确定了交通拥堵程度的标签。最后,代码输出了节点连接关系和节点特征以及对应标签。
原文地址: https://www.cveoy.top/t/topic/jz4H 著作权归作者所有。请勿转载和采集!