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.
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.
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.