This repository contains implementations of various network and graph analysis techniques using Python and the NetworkX library. It includes algorithms for analyzing network structure, measuring centrality, detecting communities, and visualizing graphs, providing tools for exploring complex relationships and data interactions.
Final project for the Selected Topics in Data Science (Network analysis) class, at Universidad Nacional Autónoma de México (UNAM), in its ENES Morelia Campus, as part of its Bs. in Data Science career plan.
This project offers hands-on exercises for learning the fundamentals of graph theory and practical applications using the NetworkX library in Python. It covers key concepts such as graph traversal, shortest paths, and network visualization through interactive examples. All the work is compiled in this .ipynb notebook.
This project analyzes various centrality measures, such as degree, closeness, and betweenness centrality, using a network of global airports. It aims to identify key airports based on their connectivity and influence within the international aviation network. All the work is compiled in this .ipynb notebook.
This project focuses on Erdős-Rényi random graphs and their properties, focusing on the clustering coefficient to understand the degree of local clustering and connectivity within these stochastic networks. All the work is compiled in this .ipynb notebook.
This project applies the PageRank algorithm to analyze and rank NBA teams based on their win-loss records, assessing the relative strength and influence of teams within the league's competitive network. All the work is compiled in this .ipynb notebook.
This project analyzes the small-world properties of different networks, including jazz musicians, Game of Thrones characters, and air traffic, to compare their clustering and path lengths, revealing similarities and differences in their network structures. All the work is compiled in this .ipynb notebook.
This project involves constructing a classifier to differentiate between healthy individuals and those with schizophrenia based on EEG signal patterns. It includes building a network for each patient, creating vector representations of these networks, and developing a classifier to analyze and classify the connectivity patterns. All the work is compiled in this .ipynb notebook.
This project explores Barabási-Albert networks and their unique properties, focusing on using network characteristics to identify and distinguish between different types of networks based on their structural features. All the work is compiled in this .ipynb notebook.
Disease Transmission Dynamics in Complex Networks: Integration of Epidemiological Models and Graph Analysis:
This project offers a comprehensive study of infectious disease spread through complex networks by combining network theory and epidemiological modeling. Using Python and NetworkX, various network types—random, small-world, and scale-free—are constructed and analyzed to simulate pathogen diffusion with the SIR (Susceptible, Infected, Recovered) model. The study investigates network characteristics and disease propagation dynamics through node centrality analysis and infection simulations on fictional networks like Game of Thrones and a real Facebook network, revealing how network structure influences the speed and reach of epidemics. The results highlight the role of highly connected nodes and intervention measures in controlling disease outbreaks, providing valuable insights for epidemic management and prevention. The code is compiled in this .ipynb notebook. The findings are discussed in this .pdf file.

