Book Image

Network Science with Python

By : David Knickerbocker
Book Image

Network Science with Python

By: David Knickerbocker

Overview of this book

Network analysis is often taught with tiny or toy data sets, leaving you with a limited scope of learning and practical usage. Network Science with Python helps you extract relevant data, draw conclusions and build networks using industry-standard – practical data sets. You’ll begin by learning the basics of natural language processing, network science, and social network analysis, then move on to programmatically building and analyzing networks. You’ll get a hands-on understanding of the data source, data extraction, interaction with it, and drawing insights from it. This is a hands-on book with theory grounding, specific technical, and mathematical details for future reference. As you progress, you’ll learn to construct and clean networks, conduct network analysis, egocentric network analysis, community detection, and use network data with machine learning. You’ll also explore network analysis concepts, from basics to an advanced level. By the end of the book, you’ll be able to identify network data and use it to extract unconventional insights to comprehend the complex world around you.
Table of Contents (17 chapters)
1
Part 1: Getting Started with Natural Language Processing and Networks
5
Part 2: Graph Construction and Cleanup
9
Part 3: Network Science and Social Network Analysis

Doing a network visualization spot check

Let’s visualize these networks, take a brief look, and then complete this chapter.

Here are two visualization functions that I frequently use. In my opinion, sknetwork is superior to NetworkX for network visualization. The visualizations look better, and they render faster. The downside is that there is less customizability, so if you want flexibility, you will need to use NetworkX’s native visualizations. Since finding sknetwork, I have not looked back to NetworkX for visualization.

The first function converts a NetworkX graph into an adjacency matrix, which sknetwork uses to calculate PageRank (an importance score) and then to render the network as an SVG image. The second function uses the first function, but the goal is to visualize an ego_graph, which will be described later. In an ego graph, you explore the relationships that exist around a single node. The first function is more general-purpose.

Enough talk. This...