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.
The author unwinds the myriad of Python tools available to plot graphs of all sorts — potentially saving you days of experimenting to learn what is possible yourself, or weeks if you have performance requirements or your graphs have hundreds of thousands of edges.
Encompassing what the tools do, how performant they are, and what are their limits, this book is amazing just as an introduction to the technology. Detailed, but easy to follow and replete with useful information, this book is a great way to bootstrap in graph plotting. Add to that the crash course in network analysis, and you will learn something along the way that may (or may not, as in my case) be the reason why you are reading. Six stars!
I am new to graph databases and this book was a great introduction. It provides a lot of concrete examples along with Python code which I can use while building my own project.
If you want to use graphs to solve a problem in Python, this book is a must read. You will learn how to model your problem as a graph and what possibilities you have to analyse it. The book dives deep down to the underlining concepts and you will find a solution for all your questions. The only thing that this book does not cover is an introduction into graph theory itself. For that you should look elsewhere.
This book is an excellent resource for anyone learning how to perform network analysis in Python. Examples are clear and explanations abound. A great reference book!