Negative_Sampler(G)
Negative sample generator using alias method.
| Parameters: |
|
|---|
Notes
Features:
- Degree-based sampling
- Efficient alias tables
- Graph construction
- Memory efficient
construct_graph_origin(G)
Construct new graph from random walks.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Initialize new graph
- Generate random walks
- Add edges with weights
- Update node degrees
sample()
Generate single negative sample.
| Returns: |
|
|---|
Notes
Processing Steps:
- Random index selection
- Alias table lookup
- Probability comparison
- Return sample
RandomWalker(G, p=1, q=1, use_rejection_sampling=0)
Random walk generator for graph sampling with node2vec strategy.
| Parameters: |
|
|---|
Notes
Features:
- Biased random walks
- Flexible walk strategies
- Efficient sampling
- Parallel processing support
:param G: :param p: Return parameter,controls the likelihood of immediately revisiting a node in the walk. :param q: In-out parameter,allows the search to differentiate between "inward" and "outward" nodes :param use_rejection_sampling: Whether to use the rejection sampling strategy in node2vec.
get_alias_edge(t, v)
Compute transition probabilities between nodes.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Calculate unnormalized probabilities
- Apply p,q parameters
- Normalize probabilities
- Create alias table
node2vec_walk(walk_length, start_node)
Generate node2vec walk using alias sampling.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Initialize walk from start node
- Sample neighbors using alias tables
- Handle transition probabilities
- Build walk sequence
node2vec_walk2(walk_length, start_node)
Generate node2vec walk using rejection sampling.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Calculate rejection bounds
- Sample transitions
- Apply rejection criteria
- Build walk sequence
preprocess_transition_probs()
Preprocessing of transition probabilities for guiding the random walks.
simulate_walks(num_walks, walk_length, workers=1, verbose=0)
Generate multiple random walks.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Get list of nodes
- Generate walks for each node
- Handle parallel processing
- Collect results
alias_sample(accept, alias)
Sample from alias table.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Generate random index
- Compare with accept probability
- Return sampled index
create_alias_table(area_ratio)
Create alias table for efficient sampling.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Initialize tables
- Split into small/large probabilities
- Balance probabilities
- Create lookup tables
partition_num(num, workers)
Partition number for parallel processing.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Calculate base partition
- Handle remainder
- Return distribution