Explore the intricate dynamics of football matches using advanced network analysis techniques. This repository analyzes passing networks to uncover key patterns, player centralities, and structural motifs, providing valuable insights into team performance and strategies.
- Passing Network Analysis: Build and analyze passing networks for any football match.
- Player Centrality Metrics: Identify key players and their influence on the game.
- Network Motifs: Detect recurring structural patterns in passing networks.
- Embeddings: Generate feature-rich embeddings for teams and players.
- Customizable Analysis: Run the analysis for any match using simple commands.
Discover the potential of the tool by checking sample outputs and data in the Sample Outputs Folder.
Ensure you have Python 3.8 or later installed.
-
Clone this repository:
git clone https://github.com/r4stin/Football-Match-Dynamics.git cd Football-Match-Dynamics -
Move your data files to the
datafolder. -
Install the required dependencies:
pip install -r requirements.txt
Run the analysis for any football match by specifying the home and away teams:
python -m src.main home_team-away_teamAnalyze a match between England and Belgium:
python -m src.main england-belgiumAfter running the analysis, check the outputs folder for detailed results:
- Centrality Metrics: Key players and their influence.
- Network Visualizations: Interactive and static graphs of passing networks.
- Motif Analysis: Insights into recurring structural patterns.
- Clustering: Identify patterns and group teams or players based on their passing networks, revealing similarities and unique playstyles.
Football-Match-Dynamics/
├── data/ # Input data files
├── outputs/ # Analysis results
├── src/ # Source code
├── requirements.txt # Python dependencies
├── README.md # Project documentation