Esiste un modo efficiente per calcolare il punteggio di matrice per vicini comuni (CC) e attacco preferenziale (PA) in python? Sto usando igraph per calcolare le matrici dei punteggi per altri metodi come il coefficiente di jaccard (Graph.similarity_jaccard()), i dadi (Graph.similarity_dice) e adamic/adar (Graph.similarity_inverse_log_weighted()), ma non ho trovato alcuna funzione calcolare le matrici dei punteggi per CC e PA.Vicini comuni e matrici di punteggi di attaccamento preferenziali usando igraph per python
Attualmente sto facendo:
#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))
ma devo fare questo per tutti i bordi (i, j) della rete che nel mio caso è davvero grande.
Se qualcuno conosce un'operazione di matrice matematica che genera tali matrici di punteggio che sto cercando, apprezzerei anche.
Grazie, che ha lavorato per me. Approfittando del soggetto, c'è un modo efficace per calcolare quanti percorsi di lunghezza "l" ci sono tra due nodi in un grafico? So che Ml (dove M è la matrice di adiacenza) mi darà quella risposta, ma ho solo bisogno di sapere quel valore per alcuni nodi, quindi non c'è bisogno di operare sull'intera matrice. Grazie in anticipo. – Paulo
Non particolarmente efficiente, ma se hai un grafico di grandi dimensioni e ne hai davvero bisogno solo per poche coppie, è sufficiente trovare tutti i percorsi tra due nodi: http://stackoverflow.com/questions/3971876/all-possible- percorsi-da-un-nodo a un altro-in-a-directed-tree-igraph –