libcity.model.road_representation.Node2Vec

class libcity.model.road_representation.Node2Vec.Graph(nx_G, is_directed, p, q)[source]

Bases: object

get_alias_edge(src, dst)[source]

Get the alias edge setup lists for a given edge.

node2vec_walk(walk_length, start_node)[source]

Simulate a random walk starting from start node.

preprocess_transition_probs()[source]

Preprocessing of transition probabilities for guiding the random walks.

simulate_walks(num_walks, walk_length)[source]

Repeatedly simulate random walks from each node.

class libcity.model.road_representation.Node2Vec.Node2Vec(config, data_feature)[source]

Bases: libcity.model.abstract_traffic_tradition_model.AbstractTraditionModel

run(data=None)[source]
Parameters

data – input of tradition model

Returns

output of tradition model

libcity.model.road_representation.Node2Vec.alias_draw(J, q)[source]

Draw sample from a non-uniform discrete distribution using alias sampling.

libcity.model.road_representation.Node2Vec.alias_setup(probs)[source]

Compute utility lists for non-uniform sampling from discrete distributions. Refer to https://hips.seas.harvard.edu/blog/2013/03/03/the-alias-method-efficient-sampling-with-many-discrete-outcomes/ for details

libcity.model.road_representation.Node2Vec.learn_embeddings(walks, dimensions, window_size, workers, iters, min_count=0, sg=1, hs=0)[source]