Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Michigan

Network Modeling and Analysis in Python

University of Michigan via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
In “Network Modeling and Analysis in Python,” you will learn how different types of network analysis can be used to make sense of complex systems. You’ll learn how algorithms can be used to better understand disease epidemics, human community structure, and the flow of information on social media. This course combines network theory with empirical analysis of real-world networks using the Python library NetworkX. You’ll learn about community structure in networks as well as several popular algorithms for community detection and applications. This course introduces a wide range of advanced network models. You’ll study random network generation models and how they can be used to create realistic graphs and explain how networks function. You’ll also learn about models that explain diffusion and the spread of epidemics in networks, such as the SI, SIS, SIR, independent cascade, and linear threshold models. This is the third course in “More Applied Data Science with Python,” a four-course series focused on helping you apply advanced data science techniques using Python. It is recommended that all learners complete the Applied Data Science with Python specialization prior to beginning this course.

Syllabus

  • Connectivity in Networks
    • In this module, you will continue learning about the foundational concepts and structural properties that characterize connectivity in networks when considering node attributes. You will explore the principle of homophily or assortative mixing, which explains the tendency of nodes to connect with others that are similar to themselves, and reciprocity, which addresses the mutual linkage between nodes. The module will also cover the concept of structural holes, which highlights the advantages of nodes positioned between unconnected network clusters, and the k-core decomposition method, used to identify cohesive subgroups within the network.
  • Community Structure in Networks
    • This module covers Community Structure in networks: the organization of nodes in a network into clusters or communities, where nodes within the same community have a higher density of connections within their community than across other communities. We explore algorithms to identify communities in networks and evaluate them. Key topics include Modularity, a measure that quantifies the strength of the division of a network into modules or communities; the Girvan-Newman algorithm, a method that systematically removes edges from the network to find the best division based on edge betweenness centrality; Agglomerative Hierarchical Clustering, a technique that builds a hierarchy of clusters by progressively merging groups based on their distance or similarity; and Label Propagation, an algorithm for detecting communities based on spreading labels throughout the network and forming communities based on the dominant label. We also discuss applications to the community detection problem in real-world scenarios.
  • Network Generative Models
    • This module expands on network generative models, building on previously covered models such as Small-World and Preferential Attachment models. We'll explore the Erdős-Rényi model, which connects nodes randomly and serves as a baseline for understanding random graph theory. The module also covers the Stochastic Block Model, which is useful for modeling community structures by grouping nodes and connecting them based on group membership. Additionally, we explore the Configuration Model, which is used for creating random networks that maintain a given degree distribution.
  • Models of Diffusion in Networks
    • This module explores how ideas, diseases, and information spread in networks using models like SI, SIS, SIR, Independent Cascade, and Linear Threshold. Learners will simulate these models with Python, modify them, and tackle the influence maximization problem, identifying key nodes to optimize information or behavior spread.

Taught by

Daniel Romero

Reviews

Start your review of Network Modeling and Analysis in Python

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.