Computing social network density

Humans are social animals and, therefore, social connections are very important. We can view these connections and the persons involved as a network. We represent networks or a subset as a graph. A graph consists of nodes or points connected by edges or lines. Graphs can be directed or undirected—the lines can be arrows.

We will use the Facebook SPAN data, which we also used in the Visualizing network graphs with hive plots recipe. Facebook started out small in 2004, but it has more than a billion users as of 2015. The data doesn't include all the users, but it is still enough for a decent analysis. The following equations describe the density of undirected (8.1) and directed (8.2) graphs:

Computing social network density

In these equations, n is the number of nodes and m is the number of edges.

Getting ready

Install NetworkX with the instructions from the Introduction section.

How to do it...

The code is in the net_density.ipynb file in this book's code bundle:

  1. The imports are as follows:
    import networkx as nx
    import dautil as dl
  2. Create a NetworkX graph as follows:
    fb_file = dl.data.SPANFB().load()
    G = nx.read_edgelist(fb_file,
                         create_using=nx.Graph(),
                         nodetype=int)
  3. Call the density() function as follows:
    print('Density', nx.density(G))

We get the following density:

Density 0.010819963503439287

See also

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset