networkclustering
Simulate a network model and analyze its behavior under different conditions, particularly focusing on cluster sizes and network activity.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.6%) to scientific vocabulary
Repository
Simulate a network model and analyze its behavior under different conditions, particularly focusing on cluster sizes and network activity.
Basic Info
- Host: GitHub
- Owner: A-Chioquetta
- License: mit
- Language: Python
- Default Branch: main
- Size: 1.02 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Network Dynamics Analysis
This project conducts a comprehensive analysis of network dynamics, specifically focusing on the behavior of clusters within a given network over time. Utilizing the SER model, it simulates the transitions between different states of nodes within a network and analyzes the formation and evolution of clusters. The project is designed to work with adjacency matrices that represent the connectivity of the network.
Dependencies
- Python 3.x
- NumPy
- Matplotlib
- iGraph
- SER (a custom library for simulating the SER model - https://github.com/fabridamicelli/ser)
Ensure you have the above dependencies installed in your environment to run the code successfully.
Overview
The code performs the following operations:
Load and Preprocess Data: Reads an adjacency matrix from a text file, representing the network's connectivity. It preprocesses this matrix to ensure it is suitable for simulation.
Simulation Setup: Sets up the parameters for the SER model, including the number of time steps, the transient phase to be ignored, and probabilities for node state transitions.
Execution of Multiple Runs: For each threshold value within a specified range, the code executes multiple simulation runs. Each run simulates the network dynamics, tracking the active nodes and analyzing the cluster formations over time.
Analysis and Output: Calculates the size of the largest and second largest clusters, the average activity level, and the standard deviation of activity across the network. These metrics are computed for each simulation run and threshold level, and the results are saved to files within a structured directory system.
Performance Measurement: Tracks the execution time of the simulation runs to evaluate performance.
Directory Structure
The code organizes output files into a specific directory structure under Project/83. For each sample, it creates subdirectories (S1, S2, A_med, varA) to store the simulation results. This structure facilitates easy navigation and analysis of the results across different simulation parameters.
Running the Simulation
To execute the simulation, simply run the script. Ensure you have the required adjacency matrix file in the expected location and format. The script takes no argume
Owner
- Login: A-Chioquetta
- Kind: user
- Repositories: 1
- Profile: https://github.com/A-Chioquetta
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Chioquetta
given-names: Alessandra
title: "NetworkClustering"
version: "1.0.0"
date-released: "2024-03-22"
url: "https://github.com/A-Chioquetta/NetworkClustering"
license: "MIT"
keywords: ["network", "clustering", "graph theory", "machine learning", "data science"]
abstract: "NetworkClustering is a software tool designed to analyze and cluster networks using advanced graph theory and machine learning techniques. It is particularly suited for large-scale data and can be applied to various domains such as social network analysis, biological networks, and communication systems."