Have you taken DataCamp's Introduction to Network Analysis in Python course and are yearning to learn more sophisticated techniques to analyze your networks, whether they be social, transportation, or biological? Then this is the course for you! Herein, you'll build on your knowledge and skills to tackle more advanced problems in network analytics! You'll gain the conceptual and practical skills to analyze evolving time series of networks, learn about bipartite graphs, and how to use bipartite graphs in product recommendation systems. You'll also learn about graph projections, why they're so useful in Data Science, and figure out the best ways to store and load graph data from files. You'll consolidate all of this knowledge in a final chapter case study, in which you'll analyze a forum dataset and come out of this course a Pythonista Network Analyst ninja!
Bipartite graphs & product recommendation systemsFree
In this chapter, you will learn about bipartite graphs and how they are used in recommendation systems. You will explore the GitHub dataset from the previous course, this time analyzing the underlying bipartite graph that was used to create the graph that you used earlier. Finally, you will get a chance to build the basic components of a recommendation system using the GitHub data!Definitions & basic recap50 xpExploratory data analysis50 xpPlotting using nxviz100 xpBipartite graphs50 xpThe bipartite keyword100 xpDegree centrality distribution of user nodes100 xpDegree centrality distribution of project nodes100 xpBipartite graphs and recommendation systems50 xpShared nodes in other partition100 xpUser similarity metric100 xpFind similar users100 xpRecommend repositories100 xp
In this chapter, you will use a famous American Revolution dataset to dive deeper into exploration of bipartite graphs. Here, you will learn how to create the unipartite projection of a bipartite graph, a very useful method for simplifying a complex network for further analysis. Additionally, you will learn how to use matrices to manipulate and analyze graphs - with many computing routines optimized for matrices, you'll be able to analyze many large graphs quickly and efficiently!Concept of projection50 xpReading graphs100 xpComputing projection100 xpPlot degree centrality on projection100 xpBipartite graphs as matrices50 xpProperties of bipartite adjacency matrices.50 xpCompute adjacency matrix100 xpFind shared membership: Transposition100 xpRepresenting network data with pandas50 xpMake nodelist100 xpMake edgelist100 xp
Comparing graphs & time-dynamic graphs
In this chapter, you will delve into the fundamental ways that you can analyze graphs that change over time. You will explore a dataset describing messaging frequency between students, and learn how to visualize important evolving graph statistics.Introduction to graph differences50 xpList of graphs100 xpGraph differences over time100 xpPlot number of edge changes over time100 xpEvolving graph statistics50 xpNumber of edges over time100 xpDegree centrality over time100 xpZooming in & zooming out: Overall graph summary50 xpFind nodes with top degree centralities100 xpVisualizing connectivity100 xp
Tying it up!
In this chapter, you will apply everything you've learned in the previous three chapters to a forum posting dataset. You will analyze the temporal changes in forum user connectivity patterns, and make visualizations of evolving graph statistics over time.Introduction to the dataset50 xpCreate a graph from the pandas DataFrame100 xpVisualize the degree centrality distribution of the students projection100 xpVisualize the degree centrality distribution of the forums projection100 xpTime based filtering50 xpTime filter on edges100 xpVisualize filtered graph using nxviz100 xpTime series analysis50 xpPlot number of posts being made over time100 xpExtract the mean degree centrality day-by-day on the students partition100 xpFind the most popular forums day-by-day: I100 xpFind the most popular forums day-by-day: II100 xpCongratulations!50 xp
PrerequisitesIntroduction to Network Analysis in Python
Eric MaSee More
Data Carpentry instructor and author of nxviz package
Eric uses code to solve big biological data problems at MIT. His tools of choice are: deep learning, network analysis, non-parametric and Bayesian statistics. He has domain expertise in the life sciences: molecular biology, microbiology, genetics and genomics, and a bit of ecology. He has given workshops on Network Analysis at PyCon, PyData, ODSC and beyond!