Muutke küpsiste eelistusi

Complex Network Analysis in Python [Pehme köide]

  • Formaat: Paperback / softback, 262 pages, kõrgus x laius x paksus: 235x185x15 mm
  • Ilmumisaeg: 12-Apr-2018
  • Kirjastus: The Pragmatic Programmers
  • ISBN-10: 1680502697
  • ISBN-13: 9781680502695
  • Formaat: Paperback / softback, 262 pages, kõrgus x laius x paksus: 235x185x15 mm
  • Ilmumisaeg: 12-Apr-2018
  • Kirjastus: The Pragmatic Programmers
  • ISBN-10: 1680502697
  • ISBN-13: 9781680502695
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.



Complex network analysis used to be done by hand or with non-programmable network analysis tools, but not anymore! You can now automate and program these tasks in Python. Complex networks are collections of connected items, words, concepts, or people. By exploring their structure and individual elements, we can learn about their meaning, evolution, and resilience.



Starting with simple networks, convert real-life and synthetic network graphs into networkx data structures. Look at more sophisticated networks and learn more powerful machinery to handle centrality calculation, blockmodeling, and clique and community detection. Get familiar with presentation-quality network visualization tools, both programmable and interactive--such as Gephi, a CNA explorer. Adapt the patterns from the case studies to your problems. Explore big networks with NetworKit, a high-performance networkx substitute. Each part in the book gives you an overview of a class of networks, includes a practical study of networkx functions and techniques, and concludes with case studies from various fields, including social networking, anthropology, marketing, and sports analytics.



Combine your CNA and Python programming skills to become a better network analyst, a more accomplished data scientist, and a more versatile programmer.



What You Need:



You will need a Python 3.x installation with the following additional modules: Pandas (>=0.18), NumPy (>=1.10), matplotlib (>=1.5), networkx (>=1.11), python-louvain (>=0.5), NetworKit (>=3.6), and generalizesimilarity. We recommend using the Anaconda distribution that comes with all these modules, except for python-louvain, NetworKit, and generalizedsimilarity, and works on all major modern operating systems.
Acknowledgments xi
Preface xiii
1 The Art of Seeing Networks
1(10)
Know Thy Networks
2(3)
Enter Complex Network Analysis
5(1)
Draw Your First Network with Paper and Pencil
6(5)
Part I Elementary Networks and Tools
2 Surveying the Tools of the Craft
11(6)
Do Not Weave Your Own Networks
11(1)
Glance at iGraph
12(1)
Appreciate the Power of graph-tool
13(2)
Accept NetworkX
15(1)
Keep in Mind NetworKit
15(1)
Compare the Toolkits
16(1)
3 Introducing NetworkX
17(14)
Construct a Simple Network with NetworkX
17(6)
Add Attributes
23(2)
Visualize a Network with Matplotlib
25(4)
Share and Preserve Networks
29(2)
4 Introducing Gephi
31(10)
Worth 1,000 Words
31(1)
Import and Modify a Simple Network with Gephi
32(2)
Explore the Network
34(2)
Sketch the Network
36(2)
Prepare a Presentation-Quality Image
38(2)
Combine Gephi and NetworkX
40(1)
5 Case Study: Constructing a Network of Wikipedia Pages
41(12)
Get the Data, Build the Network
42(3)
Eliminate Duplicates
45(1)
Truncate the Network
46(1)
Explore the Network
47(6)
Part II Networks Based on Explicit Relationships
6 Understanding Social Networks
53(16)
Understand Egocentric and Sociocentric Networks
53(8)
Recognize Communication Networks
61(2)
Appreciate Synthetic Networks
63(3)
Distinguish Strong and Weak Ties
66(3)
7 Mastering Advanced Network Construction
69(14)
Create Networks from Adjacency and Incidence Matrices
69(7)
Work with Edge Lists and Node Dictionaries
76(2)
Generate Synthetic Networks
78(1)
Slice Weighted Networks
79(4)
8 Measuring Networks
83(18)
Start with Global Measures
83(1)
Explore Neighborhoods
84(4)
Think in Terms of Paths
88(4)
Choose the Right Centralities
92(5)
Estimate Network Uniformity Through Assortativity
97(4)
9 Case Study: Panama Papers
101(14)
Create a Network of Entities and Officers
101(3)
Draw the Network
104(1)
Analyze the Network
105(3)
Build a "Panama" Network with Pandas
108(7)
Part III Networks Based on Co-Occurrences
10 Constructing Semantic and Product Networks
115(10)
Semantic Networks
116(4)
Product Networks
120(5)
11 Unearthing the Network Structure
125(16)
Locate Isolates
125(1)
Split Networks into Connected Components
126(3)
Separate Cores, Shells, Coronas, and Crusts
129(2)
Extract Cliques
131(3)
Recognize Clique Communities
134(2)
Outline Modularity-Based Communities
136(2)
Perform Blockmodeling
138(1)
Name Extracted Blocks
139(2)
12 Case Study: Performing Cultural Domain Analysis
141(12)
Get the Terms
142(4)
Build the Term Network
146(1)
Slice the Network
147(1)
Extract and Name Term Communities
148(2)
Interpret the Results
150(3)
13 Case Study: Going from Products to Projects
153(10)
Read Data
153(2)
Analyze the Networks
155(2)
Name the Components
157(6)
Part IV Unleashing Similarity
14 Similarity-Based Networks
163(12)
Understand Similarity
163(4)
Choose the Right Distance
167(8)
15 Harnessing Bipartite Networks
175(10)
Work with Bipartite Networks Directly
176(2)
Project Bipartite Networks
178(3)
Compute Generalized Similarity
181(4)
16 Case Study: Building a Network of Trauma Types
185(12)
Embark on Psychological Trauma
185(1)
Read the Data, Build a Bipartite Network
186(2)
Build Four Weighted Networks
188(3)
Plot and Compare the Networks
191(6)
Part V When Order Makes a Difference
17 Directed Networks
197(12)
Discover Asymmetric Relationships
197(2)
Explore Directed Networks
199(4)
Apply Topological Sort to Directed Acyclic Graphs
203(1)
Master "toposort"
204(5)
A1 Network Construction, Five Ways
209(4)
Pure Python
209(1)
iGraph
210(1)
graph-tool
211(1)
NetworkX
212(1)
NetworKit
212(1)
A2 NetworkX 2.0
213(2)
Bibliography 215(4)
Index 219
Dmitry Zinoviev has graduate degrees in physics and computer science with a PhD from Stony Brook University. His research interests include computer simulation and modeling, network science, network analysis, and digital humanities. He has been teaching at Suffolk University in Boston, MA since 2001. He is the author of Data Science Essentials in Python.