Esempio n. 1
0
    def _walk(self, layer_id, index):
        tmp_data = self.network_data[layer_id]
        # start to do the random walk on a layer

        layer_walker = RWGraph(get_G_from_edges(tmp_data),
                               node_type=self.node_type)
        layer_walks = layer_walker.simulate_walks(self.num_walks,
                                                  self.walk_length,
                                                  schema=self.schema)
        self.walks[index] = layer_walks
Esempio n. 2
0
def generate_walks(network_data, num_walks, walk_length, schema, file_name):
    if schema is not None:
        node_type = load_node_type(file_name + '/node_type.txt')
    else:
        node_type = None

    all_walks = []
    for layer_id in network_data:
        tmp_data = network_data[layer_id]
        # start to do the random walk on a layer

        layer_walker = RWGraph(get_G_from_edges(tmp_data))
        layer_walks = layer_walker.simulate_walks(num_walks,
                                                  walk_length,
                                                  schema=schema)

        all_walks.append(layer_walks)

    print('Finish generating the walks')

    return all_walks
Esempio n. 3
0
def generate_walks(network_data):
    base_network = network_data['Base']

    if args.schema is not None:
        node_type = load_node_type(file_name + '/node_type.txt')
    else:
        node_type = None

    base_walker = RWGraph(get_G_from_edges(base_network), node_type=node_type)
    base_walks = base_walker.simulate_walks(args.num_walks,
                                            args.walk_length,
                                            schema=args.schema)

    all_walks = []
    for layer_id in network_data:
        if layer_id == 'Base':
            continue

        tmp_data = network_data[layer_id]
        # start to do the random walk on a layer

        layer_walker = RWGraph(get_G_from_edges(tmp_data))
        layer_walks = layer_walker.simulate_walks(args.num_walks,
                                                  args.walk_length)

        all_walks.append(layer_walks)

    print('finish generating the walks')

    return base_walks, all_walks
Esempio n. 4
0
def generate_walks(network_data, num_walks, walk_length, schema, file_name,
                   num_workers):
    if schema is not None:  # schema:节点类型
        node_type = load_node_type(file_name + '/node_type.txt')
    else:
        node_type = None

    all_walks = []  # 所有游走的list
    for layer_id, layer_name in enumerate(network_data):
        tmp_data = network_data[layer_name]  # 每个type对应到的点边信息
        # start to do the random walk on a layer
        # get_G_from_edges(tmp_data): 每个节点对应到相连接的点
        layer_walker = RWGraph(get_G_from_edges(tmp_data), node_type,
                               num_workers)  # RandomWalk Graph
        print('Generating random walks for layer', layer_id)
        layer_walks = layer_walker.simulate_walks(
            num_walks, walk_length,
            schema=schema)  # 生成随机游走的序列; 每个节点游走次数; 游走长度;

        all_walks.append(layer_walks)

    print('Finish generating the walks')

    return all_walks