Node-level metrics

Analyzing Social Media Data in Python

Alex Hanna

Computational Social Scientist

Centrality: node importance

  • Centrality
    • Measures of importance of a node in a network
    • Several different ideas of "importance"
Analyzing Social Media Data in Python

Degree centrality

Degree

  • Number of edges that are connected to node
  • Two types of degrees in a directed network
    • In-degree - edge going into node
    • Out-degree - edge going out of a node
nx.in_degree_centrality(T)
nx.out_degree_centrality(T)

In-degree centrality

Analyzing Social Media Data in Python

Betweenness centrality

  • How many shortest paths between two nodes pass through this node
  • Importance as a network broker
nx.betweenness_centrality(T)

Betweenness centrality

Analyzing Social Media Data in Python

Printing highest centrality

bc = nx.betweenness_centrality(T)

betweenness = pd.DataFrame( list(bc.items()), columns = ['Name', 'Cent'])
print(betweenness.sort_values( 'Cent', ascending = False).head())
    Name  Centrality
0      0    0.232540
23    23    0.158514
7      7    0.158514
15    15    0.158514
21    21    0.157588

Betweenness centrality

Analyzing Social Media Data in Python

Centrality in different networks

Centrality 2x3 table

Analyzing Social Media Data in Python

The ratio

degree_rt = pd.DataFrame(list(G_rt.in_degree()), 
                         columns = ['screen_name', 'degree'])
degree_reply = pd.DataFrame(list(G_reply.in_degree()),
                            columns = ['screen_name', 'degree'])

ratio = degree_rt.merge(degree_reply, on = 'screen_name', suffixes = ('_rt', '_reply'))
ratio['ratio'] = ratio['degree_reply'] / ratio['degree_rt']
Analyzing Social Media Data in Python

Let's practice!

Analyzing Social Media Data in Python

Preparing Video For Download...