问题
This is the pagerank function from networkx
def pagerank(G, alpha=0.85, personalization=None,
max_iter=100, tol=1.0e-6, nstart=None, weight='weight',
dangling=None):
I am confused with personalization and weight.
I understand the when personalization matrix is not provides a uniform matrix is used and when weight is not provided edge weight of 1 is used.
I have been reading about :Edge weight personalization and Node Weight Personalization.
http://www.cs.cornell.edu/~bindel/present/2015-08-kdd-talk_kdd-aug15.pdf
So my assumption is personalization vector --> can be used for node weight personalization. for example. we are calculating pagerank of nodes for particular topic t . we give personalization vector where nodes more relevant to the topic get more value.
But what about edge weight. What happens when I give higher weight to one outgoing edge from V as compared to other. ?
I am not able to segregate these two things (edge weights and personalization vector) .
and also : the dictionary dangling : which represents the teleportation vector. If not provided personalization vector is used. The dangling dictionary is more understandable to me , that is provides the probability of random transition when we reach a dangling node.
Could someone help be understand the scenario where I provide all three , i.e edge weight, personalization vector and Dangling vector ( How will pagerank be affected)
回答1:
This isn't really a programming question but I'll answer anyway.
In the NetworkX implementation if you set a personalization vector those values will also used for the "dangling nodes" - you cannot set the dangling node values separately.
The 'weight=' parameter gives the edge attribute to be used as a numeric edge weight. The default with weight=None sets all of the weights equal (to 1). You can adjust them as you like according to properties in your graph if you want to bias certain edges.
来源:https://stackoverflow.com/questions/36208135/pagerank-personalization-vector-edge-weights-and-dangling-dictionary-teleport