Sto giocando con networkx (libreria di grafi in python) e ho trovato la documentazione che dice che l'algoritmo PageRank prende in considerazione i pesi marginali durante il calcolo, ma mi chiedevo se i pesi di bordo più grandi fossero migliori o pesi inferiori migliori?In che modo i bordi ponderati influenzano il PageRank in networkx?
16
A
risposta
23
In breve, i pesi di grandi dimensioni sono migliori per i nodi in ingresso.
PageRank funziona su un grafico ponderato diretto. Se la pagina A ha un link alla pagina B, allora il punteggio per B sale, cioè più input ha la pagina B (nodo), più alto è il suo punteggio.
Wikipedia article on PageRank per ulteriori dettagli.
Modifica: facciamo un esperimento. Crea un grafico diretto con 3 nodi e due bordi diretti con pesi uguali.
import networkx as nx
D=nx.DiGraph()
D.add_weighted_edges_from([('A','B',0.5),('A','C',0.5)])
print nx.pagerank(D)
>> {'A': 0.259740259292235, 'C': 0.3701298703538825, 'B': 0.3701298703538825}
Ora, aumentare il peso del bordo (A, C):
D['A']['C']['weight']=1
print nx.pagerank(D)
>> {'A': 0.259740259292235, 'C': 0.40692640737443164, 'B': 0.3333333333333333}
Come si vede, il nodo C ha ottenuto il punteggio più alto con l'aumento del peso del bordo in arrivo.
Problemi correlati
- 1. Textrank: complementare il pagerank per l'estrazione delle frasi usando networkx
- 2. Networkx: Converti multigraph in semplice grafico con bordi ponderati
- 3. Disegno grafico con bordi ponderati
- 4. animare NetworkX disegno bordi
- 5. Colorare i bordi networkx in base al peso
- 6. Come disegnare i bordi paralleli in Networkx/Graphviz
- 7. Analisi dei bordi nel grafico NetworkX
- 8. NetworkX: bordi sovrapposti durante la visualizzazione multigrafo
- 9. Ridimensionare un poligono in modo che i bordi corrispondano a
- 10. Come mantenere solo i nodi in networkx-graph con 2+ bordi in uscita o 0 bordi in uscita?
- 11. NetworkX (Python): come cambiare il peso bordi dalla regola designato
- 12. Ridurre al minimo i bordi trasversali in un grafico
- 13. Tracciare grafici diretti in Python in modo da mostrare tutti i bordi separatamente
- 14. Python, networkx
- 15. In che modo le ivars automatiche @synthesized influenzano il * reale * sizeof (MyClass)?
- 16. per diagrammi voronoi ponderati?
- 17. Come si elimina un nodo in networkx?
- 18. Getting PageRank
- 19. Esportazione in PNG da Adobe Illustrator che elimina i bordi
- 20. Calcolo di SimRank tramite NetworkX?
- 21. Alberi decisionali ponderati che utilizzano Entropy
- 22. come calcolare i nodi "vicini" con networkx
- 23. Grafico bipartito in NetworkX
- 24. networkx draw_networkx_edges capstyle
- 25. tabelle di frequenza con i dati ponderati in R
- 26. Trova il centroide di un poligono con i vertici ponderati
- 27. mantenere i bordi in IE con jquery.corner()
- 28. Quali sono alcune alternative di pagerank?
- 29. Recupera i nodi connessi in un grafico NetworkX
- 30. Attributo nodo NetworkX disegno
Impressionante grazie, Max! – Lostsoul
Non sono sicuro "il PageRank funziona su un grafico ponderato diretto" è corretto. È mia opinione che ordinariamente i bordi usati in PageRank non siano ponderati, che ci sia o meno uno spigolo tra i nodi. Questo ha senso perché non puoi avere mezzo collegamento tra due pagine. Anche se sembra che il metodo pagerank in networkx permetta di pesare i bordi, come possono usare [TextRank] (http://digital.library.unt.edu/ark:/67531/metadc30962/m2/1/high_res_d/Mehalcea-2004-TextRank-Bringing_Order_into_Texts.pdf) (sezione 2.2), che è basato su PageRank. – jksnw
Perché dovresti assegnare un link più pesante? È lasciato alla realizzazione capire come certi link valgono di più? (Come link nel corpo vs link nei commenti?) – Xeoncross