Analisi dei Social Network con NetworkX Un’introduzione delicata

Analisi dei Social Network con NetworkX Un'introduzione elegante

Scopri come aziende come Facebook e LinkedIn estraggono informazioni dalle reti

Fonte immagine: pixabay.com

Come fanno le piattaforme di streaming come Netflix a consigliare il film perfetto per la tua serata? Come possiamo ottimizzare la posizione dei giocatori nello sport come il calcio? Come possiamo identificare attività fraudolente nelle reti finanziarie? Come possiamo prevedere un match nelle app di incontri come Tinder?

Tutte queste sfide hanno la stessa soluzione: Analisi delle Reti Sociali.

L’Analisi delle Reti Sociali (SNA) è un potente campo della scienza dei dati che permette di esplorare le intricate relazioni all’interno di una rete di entità, scoprendo schemi nascosti e acquisendo informazioni. Le entità di una rete possono essere di tutto: possono essere persone su un social network come Instagram, siti web su internet o persino squadre sportive in un torneo.

Nelle sezioni successive, ti aiuterò a capire cos’è una rete nella scienza dei dati, descriverò i tipi più comuni e implementerò vari algoritmi per estrarre informazioni preziose dalle reti.

Tutte le parti teoriche verranno combinate con esempi pratici. Troverai diversi frammenti di codice Python per familiarizzare con la libreria Python NetworkX.

Comprensione delle reti

Una rete, anche chiamata grafo, è una particolare rappresentazione delle informazioni che consiste in due componenti essenziali: nodi e archi.

I nodi sono gli elementi di base di una rete. Rappresentano le entità individuali all’interno di una rete. Possono impersonare una vasta gamma di cose, come persone in un social network ma anche geni in una rete biologica.

Gli archi, invece, rappresentano le relazioni tra i nodi. Possono definire interazioni tra due persone, associazioni o dipendenze. Gli archi possono essere direzionati, il che significa che la relazione che rappresentano va da un nodo all’altro. Pensiamo a un arco diretto che rappresenta il pagamento effettuato da una persona a un’altra, è infatti utile conoscere la direzione dello scambio di denaro. Questa asimmetria è rappresentata con frecce.

In NetworkX, i nodi e gli archi sono facilmente rappresentati come segue: