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个节点的特征和对应标签,其中车辆密度和平均车速的范围根据实际情况进行了设定,并根据车辆密度和平均车速的值确定了交通拥堵程度的标签。最后,代码输出了节点连接关系和节点特征以及对应标签。

城市交通网络数据生成示例:20个节点、10个时刻

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

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