Casa Finanza personale Lavorare con Graph Data in Python per Data Science - dummies

Lavorare con Graph Data in Python per Data Science - dummies

Sommario:

Video: Data Analysts Tools - 5 Crucial Data Tools [2019] 2025

Video: Data Analysts Tools - 5 Crucial Data Tools [2019] 2025
Anonim

Molti scienziati di dati devono lavorare con i dati del grafico a un certo punto. Python ti dà quella funzionalità. Immaginate i punti dati che sono collegati ad altri punti dati, come il modo in cui una pagina web è collegata a un'altra pagina web tramite collegamenti ipertestuali. Ciascuno di questi punti dati è un nodo . I nodi si connettono tra loro usando i collegamenti .

Non tutti i nodi si collegano a ogni altro nodo, quindi le connessioni del nodo diventano importanti. Analizzando i nodi e i loro collegamenti, è possibile eseguire tutti i tipi di attività interessanti in scienza dei dati, come ad esempio definire il modo migliore per andare dal lavoro a casa usando strade e autostrade.

Comprensione della matrice di adiacenza

Una matrice di adiacenza rappresenta le connessioni tra i nodi di un grafico. Quando c'è una connessione tra un nodo e l'altro, la matrice lo indica come un valore maggiore di 0. La rappresentazione precisa delle connessioni nella matrice dipende dal fatto che il grafico sia diretto (dove la direzione della connessione è importante) o non diretto.

Un problema con molti esempi online è che gli autori li mantengono semplici per scopi di spiegazione. Tuttavia, i grafici del mondo reale sono spesso immensi e sfidano facilmente l'analisi semplicemente attraverso la visualizzazione. Basti pensare al numero di nodi che avrebbe anche una piccola città quando si considerano le intersezioni stradali. Molti altri grafici sono molto più grandi, e semplicemente guardarli non rivelerà mai modelli interessanti. I ricercatori di dati chiamano il problema nel presentare qualsiasi grafico complesso usando una matrice di adiacenza a hairball .

Una chiave per analizzare le matrici di adiacenza è ordinarle in modi specifici. Ad esempio, è possibile scegliere di ordinare i dati in base a proprietà diverse dalle connessioni effettive. Un grafico delle connessioni stradali potrebbe includere la data in cui la strada è stata pavimentata per ultimi con i dati, rendendo possibile la ricerca di modelli che indirizzino qualcuno in base alle strade che si trovano nella migliore riparazione. In breve, rendere i dati del grafico utili diventa una questione di manipolazione dell'organizzazione di quei dati in modi specifici.

Usare le basi di NetworkX

Lavorare con i grafici potrebbe diventare difficile se dovessi scrivere tutto il codice da zero. Fortunatamente, il pacchetto NetworkX per Python semplifica la creazione, la manipolazione e lo studio della struttura, delle dinamiche e delle funzioni di reti complesse (o grafici). Puoi usare il pacchetto anche per lavorare con digraphs e multigraphs.

L'enfasi principale di NetworkX è evitare l'intera questione dei boli di pelo.L'uso di semplici chiamate nasconde gran parte della complessità di lavorare con grafici e matrici di adiacenza dalla vista. L'esempio seguente mostra come creare una matrice di adiacenza di base da uno dei grafici forniti da NetworkX:

import networkx come nx G = nx. cycle_graph (10) A = nx. adjacency_matrix (G) print (A. todense ())

L'esempio inizia con l'importazione del pacchetto richiesto. Quindi crea un grafico usando il modello cycle_graph (). Il grafico contiene dieci nodi. Calling adjacency_matrix () crea la matrice di adiacenza dal grafico. Il passo finale è stampare l'output come matrice, come mostrato qui:

[[0 1 0 0 0 0 0 0 0 1] [1 0 1 0 0 0 0 0 0 0] [0 1 0 1 0 0 0 0 0 0] [0 0 1 0 1 0 0 0 0 0] [0 0 0 1 0 1 0 0 0 0] [0 0 0 0 1 0 1 0 0 0] [0 0 0 0 0 1 0 1 0 0] [0 0 0 0 0 0 1 0 1 0] [0 0 0 0 0 0 0 1 0 1] [1 0 0 0 0 0 0 0 1 0]]

Non devi crea il tuo grafico da zero a scopo di test. Il sito NetworkX documenta una serie di tipi di grafici standard che è possibile utilizzare, tutti disponibili in IPython.

È interessante vedere come il grafico si cura dopo averlo generato. Il codice seguente mostra il grafico per te.

Tracciare il grafico originale.
importa matplotlib. pyplot come plt nx. draw_networkx (G) plt. show ()

Il grafico mostra che è possibile aggiungere un bordo tra i nodi 1 e 5. Ecco il codice necessario per eseguire questa operazione utilizzando la funzione add_edge ().

Tracciamento dell'aggiunta del grafico.
G. add_edge (1, 5) nx. draw_networkx (G) plt. show ()
Lavorare con Graph Data in Python per Data Science - dummies

Scelta dell'editore

Il programma in cinque passaggi per superare la menopausa - dummy

Il programma in cinque passaggi per superare la menopausa - dummy

Alcune donne capiscono a malapena che la menopausa è loro. Altre donne, tuttavia, sono meno fortunate. Se sei uno di questi, prendi in mano questi pochi modi per rendere la tua esperienza più facile per te stesso: capisci e accetta che stai attraversando una transizione naturale, proprio come la pubertà. Fortunatamente, sei più vecchio e più saggio di te ...

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa For Dummies Cheat Sheet (edizione UK) - dummies

Menopausa segna la fine della fase riproduttiva della tua vita e così è un momento significativo di cambiamento fisico, emotivo e mentale per molte donne ma, per generazioni, donne di tutte le età hanno vagato alla cieca in menopausa senza sapere cosa aspettarsi. Qui puoi scoprire alcune delle nozioni di base.

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Perimenopausa: facilitare la transizione dalle mestruazioni alla menopausa - manichini

Mestruazioni e menopausa sono ben noti biologici pietre miliari nella vita di una femmina. Contrariamente al pensiero popolare, la menopausa non è il periodo di mesi o anni in cui una donna sta "attraversando il cambiamento". "Questo lasso di tempo è chiamato perimenopausa. La menopausa è una data effettiva nel tempo. In particolare, è il 12 ° anniversario dell'ultimo ciclo mestruale di una donna. ...

Scelta dell'editore

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

Come utilizzare il filtro automatico personalizzato su una tabella di Excel - dummies

È Possibile creare un filtro automatico personalizzato . Per fare ciò, seleziona il comando Filtro testo dal menu della tabella e scegli una delle opzioni di filtro del testo. Indipendentemente dall'opzione di filtro del testo selezionata, Excel visualizza la finestra di dialogo Filtro automatico personalizzato. Questa finestra di dialogo consente di specificare con estrema precisione quali record si desidera ...

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

Come utilizzare la funzione DPRODUCT in un database Excel - dummies

DPRODUCT moltiplica i valori che corrispondono al criterio in un database Excel. Questo è potente ma anche in grado di produrre risultati che non sono l'intenzione. In altre parole, è una cosa da aggiungere e ricavare una somma. Questa è un'operazione comune su un set di dati. Osservando la seguente figura, è possibile ...

Come utilizzare la funzione DPRODUCT in Excel - dummy

Come utilizzare la funzione DPRODUCT in Excel - dummy

La funzione DPRODUCT in Excel è strana. La funzione DPRODUCT moltiplica i valori nei campi da un elenco di database in base ai criteri di selezione. Perché vorresti farlo? Chissà. La funzione utilizza la sintassi = DPRODUCT (database, campo, criteri) in cui il database è un riferimento all'intervallo alla tabella di Excel che contiene il valore desiderato ...

Scelta dell'editore

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Programmazione con Java: riutilizzo dei nomi nella tua app per Android - dummies

Ci sono un paio di cose a cui vuoi pensare quando riutilizzi i nomi nella tua app per Android. È possibile dichiarare due variabili Java - bag1 e bag2 - per fare riferimento a due diversi oggetti BagOfCheese. Va bene. Ma a volte, avere solo una variabile e riutilizzarla per il secondo oggetto funziona altrettanto bene, ...

Java: Mettere a frutto l'uso della classe - dummies

Java: Mettere a frutto l'uso della classe - dummies

La classe Employee nell'elenco non ha alcun metodo principale , quindi non c'è un punto di partenza per l'esecuzione del codice. Per risolvere questo problema, il programmatore scrive un programma separato con un metodo principale e utilizza tale programma per creare istanze Employee. Questo elenco di codici mostra una classe con un metodo principale - uno che inserisce il ...

Classi wrapper java - dummies

Classi wrapper java - dummies

La differenza tra tipi primitivi e tipi di riferimento è una delle funzionalità più controverse di Java e gli sviluppatori si lamentano spesso sulle differenze tra valori primitivi e valori di riferimento. Ogni tipo primitivo viene cotto nella lingua. Java ha otto tipi primitivi. Ogni tipo di riferimento è una classe o un'interfaccia. È possibile definire il proprio ...