It tracks network communities across consecutive time frames. In particular it detects the evolutionary phenomenon a community can sustain from one time frame to another:
- continuing
- shrinking
- growing
- split
- merge
- dissolving
- No_event (when none of the above events holds) The code is based on the implementation of [1]
- It contains 6 .py (thon) files config.py , event.py , hypergraph.py, inclusion.py , preprocessing.py , tracker.py
- To run from terminal: $ python3 Tracker.py input_example/community_edges.json (python tracker.py .json)
- output: a file named 'results.csv', the format is:
window ID, community ID, window ID, community ID, event
- In config.py there are 2 parameters Alpha,Beta. These are the thresholds for the event identification. Should be between [0.1,1]
The file given as input to the GED algorithm must adhere to the following JSON template:
{
"windows":
[ //array of windows (i.e. timeframes)
{
"communities":
[ //array of communities in each window
[ //array of edges in each community
[ //array containing two node ids between which an edge exists (this is an edge of the community)
]
]
]
}
]
}
We assume that the data set has been split into time frames and that communities have been discovered in each time frame.
An example input file is provided in the "input/example" directory to test GED, consisting of 20 windows. input/example/community_edges.json
<------- community ----------> <------- community ---------->
time-step:1 --> {"windows":[{"communities":[ [[id1,id2],[id2,id3],[id3,id1]], [[id4,id5],[id5,id6],[id6,id7]] ]
time-step:2 --> {"windows":[{"communities":[ [[id8,id9],[id9,id10],[id10,id1]], [[id11, id12],[id12,id13],[id13,id11]] ]
- The output file generated by GED has the following format: ,,,,
- E.g.
0,40,1,42,continuing
means that community 40 in window 0 has evolved (corresponds) to community 42 in the next window (window 1) and the associated event with this evolution is continue. - Windows are numbered consecutively starting from 0. The same holds for the communities in each window.
[1]: Piotr Brodka, Stanislaw Saganowski, and Przemyslaw Kazienko (2011), Tracking group evolution in social networks, International Conference on Social Informatics, 316--319, Springer
community-tracking - NCSR Demokritos module Copyright 2016 Michail Apostolou
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: https://www.apache.org/licenses/LICENSE-2.0