¿Existe una manera eficiente de calcular la puntuación de la matriz para los vecinos comunes (CC) y la conexión preferencial (PA) en python? Estoy usando igraph para calcular matrices de puntuación para otros métodos como el coeficiente de jaccard (Graph.similarity_jaccard()), dice (Graph.similarity_dice) y adámica/adar (Graph.similarity_inverse_log_weighted()), pero no he encontrado ninguna función para calcular matrices de puntaje para CC y PA.Vecinos comunes y matrices de puntuación de inserción preferencial usando igraph para python
Actualmente estoy haciendo:
#Preferential attachment score between nodes i and j in a graph g
len(g.neighbors(i))*len(g.neighbors(j))
#Common neighbors score between nodes i and j in a graph g
len(g.neighbors(i) and g.neighbors(j))
pero tengo que hacer esto para todos los bordes (i, j) de la red que en mi caso es muy grande.
Si alguien conoce alguna operación de matriz matemática que genere tales matrices de puntuación que estoy buscando, lo agradecería también.
Gracias, que trabajó para mí. Aprovechando el tema, ¿hay una manera eficiente de calcular cuántos caminos de longitud "l" hay entre dos nodos en un gráfico? Sé que Ml (donde M es la matriz de adyacencia) me dará esa respuesta, pero solo necesito saber ese valor para algunos nodos, por lo que no es necesario operar sobre toda la matriz. Gracias por adelantado. – Paulo
No es particularmente eficiente, pero si tiene un gráfico grande y realmente lo necesita solo por unos pocos pares, entonces simplemente encontrar todas las rutas entre dos nodos debería funcionar: http://stackoverflow.com/questions/3971876/all-possible- paths-from-one-node-to-another-in-a-directed-tree-igraph –