Construct, analyze, and visualize networks with networkx, a Python language module. Network analysis is a powerful tool you can apply to a multitude of datasets and situations. Discover how to work with all kinds of networks, including social, product, temporal, spatial, and semantic networks. Convert almost any real-world data into a complex network—such as recommendations on co-using cosmetic products, muddy hedge fund connections, and online friendships. Analyze and visualize the network, and make business decisions based on your analysis. If you’re a curious Python programmer, a data scientist, or a CNA specialist interested in mechanizing mundane tasks, you’ll increase your productivity exponentially.
Author(s): Dmitry Zinoviev
Publisher: Pragmatic Programmers
Year: 2017
Language: English
Pages: 222
Cover
Table of Contents
Acknowledgments
Preface
About the Reader
About the Book
About the Software
About the Notation
Online Resources
1. The Art of Seeing Networks
Know Thy Networks
Enter Complex Network Analysis
Draw Your First Network with Paper and Pencil
Part I—Elementary Networks and Tools
2. Surveying the Tools of the Craft
Do Not Weave Your Own Networks
Glance at iGraph
Appreciate the Power of graph-tool
Accept NetworkX
Keep in Mind NetworKit
Compare the Toolkits
3. Introducing NetworkX
Construct a Simple Network with NetworkX
Add Attributes
Visualize a Network with Matplotlib
Share and Preserve Networks
4. Introducing Gephi
Worth 1,000 Words
Import and Modify a Simple Network with Gephi
Explore the Network
Sketch the Network
Prepare a Presentation-Quality Image
Combine Gephi and NetworkX
5. Case Study: Constructing a Network of Wikipedia Pages
Get the Data, Build the Network
Eliminate Duplicates
Truncate the Network
Explore the Network
Part II—Networks Based on Explicit Relationships
6. Understanding Social Networks
Understand Egocentric and Sociocentric Networks
Recognize Communication Networks
Appreciate Synthetic Networks
Distinguish Strong and Weak Ties
7. Mastering Advanced Network Construction
Create Networks from Adjacency and Incidence Matrices
Work with Edge Lists and Node Dictionaries
Generate Synthetic Networks
Slice Weighted Networks
8. Measuring Networks
Start with Global Measures
Explore Neighborhoods
Think in Terms of Paths
Choose the Right Centralities
Estimate Network Uniformity Through Assortativity
9. Case Study: Panama Papers
Create a Network of Entities and Officers
Draw the Network
Analyze the Network
Build a ``Panama'' Network with Pandas
Part III—Networks Based on Co-Occurrences
10. Constructing Semantic and Product Networks
Semantic Networks
Product Networks
11. Unearthing the Network Structure
Locate Isolates
Split Networks into Connected Components
Separate Cores, Shells, Coronas, and Crusts
Extract Cliques
Recognize Clique Communities
Outline Modularity-Based Communities
Perform Blockmodeling
Name Extracted Blocks
12. Case Study: Performing Cultural Domain Analysis
Get the Terms
Build the Term Network
Slice the Network
Extract and Name Term Communities
Interpret the Results
13. Case Study: Going from Products to Projects
Read Data
Analyze the Networks
Name the Components
Part IV—Unleashing Similarity
14. Similarity-Based Networks
Understand Similarity
Choose the Right Distance
15. Harnessing Bipartite Networks
Work with Bipartite Networks Directly
Project Bipartite Networks
Compute Generalized Similarity
16. Case Study: Building a Network of Trauma Types
Embark on Psychological Trauma
Read the Data, Build a Bipartite Network
Build Four Weighted Networks
Plot and Compare the Networks
Part V—When Order Makes a Difference
17. Directed Networks
Discover Asymmetric Relationships
Explore Directed Networks
Apply Topological Sort to Directed Acyclic Graphs
Master ``toposort''
A1. Network Construction, Five Ways
Pure Python
iGraph
graph-tool
NetworkX
NetworKit
A2. NetworkX 2.0
Bibliography
Index
– SYMBOLS –
– A –
– B –
– C –
– D –
– E –
– F –
– G –
– H –
– I –
– J –
– K –
– L –
– M –
– N –
– O –
– P –
– Q –
– R –
– S –
– T –
– U –
– V –
– W –
– Y –
– Z –