Temporal Clustering¶
TemporalClustering models communities that evolves as time goes by.
Each temporal community clustering observation is a Clustering object, thus it inherits all properties of its specific concrete class.
Overview¶
-
class
TemporalClustering
¶ -
add_clustering
(clustering: object, time: object)¶ Add to the Temporal Clustering the communities observed at a given time
Parameters: - clustering – a Clustering object
- time – time of observation
-
add_matching
(matching: list)¶ Add a precomputed matching of the communities.
Parameters: matching – a list of tuples [(Ti_Ca, Tj_Cb, score), … ]. Community names needs to satisfy the pattern {tid}_{cid}, where tid is the time of observation and cid is the position of the community within the Clustering object.
-
clustering_stability_trend
(method: Callable[[object, object], float]) → list¶ Returns the trend for community stability. The stability index is computed for temporally adjacent clustering pairs.
Parameters: method – a comparison score taking as input two Clustering objects (e.g., NMI, NF1, ARI…) Returns: a list of floats
-
community_matching
(method: Callable[[set, set], float], two_sided: bool = False) → list¶ Reconstruct community matches across adjacent observations using a provided similarity function.
Parameters: - method – a set similarity function with co-domain in [0,1] (e.g., Jaccard)
- two_sided – boolean. Whether the match has to be applied only from the past to the future (False, default) or even from the future to the past (True)
Returns: a list of tuples [(Ti_Ca, Tj_Cb, score), … ]. Community names are assigned following the pattern {tid}_{cid}, where tid is the time of observation and cid is the position of the community within the Clustering object.
-
get_clustering_at
(time: object) → object¶ Returns the clustering observed at a given time
Parameters: time – the time of observation Returns: a Clustering object
-
get_community
(cid: str) → list¶ Returns the nodes within a given temporal community
Parameters: cid – community id of the form {tid}_{cid}, where tid is the time of observation and cid is the position of the community within the Clustering object. Returns: list of nodes within cid
-
get_explicit_community_match
() → list¶ Return an explicit matching of computed communities (if it exists)
Returns: a list of tuple [(Ti_Ca, Tj_Cb, score), … ]. Community names are assigned following the pattern {tid}_{cid}, where tid is the time of observation and cid is the position of the community within the Clustering object.
-
get_observation_ids
() → list¶ Returns the list of temporal ids for the available clusterings :return: a list of temporal ids
-
has_explicit_match
() → bool¶ Checks if the algorithm provided an explicit match of temporal communities
Returns: a list of tuple [(Ti_Ca, Tj_Cb, score), … ]. Community names are assigned following the pattern {tid}_{cid}, where tid is the time of observation and cid is the position of the community within the Clustering object.
-
lifecycle_polytree
(method: Callable[[set, set], float] = None, two_sided: bool = False) → <Mock id='139918924959312'>¶ Reconstruct the poly-tree representing communities lifecycles using a provided similarity function.
Parameters: - method – a set similarity function with co-domain in [0,1] (e.g., Jaccard)
- two_sided – boolean. Whether the match has to be applied only from the past to the future (False, default) or even from the future to the past (True)
Returns: a networkx DiGraph object. Nodes represent communities, their ids are assigned following the pattern {tid}_{cid}, where tid is the time of observation and cid is the position of the community within the Clustering object.
-
to_json
()¶ Generate a JSON representation of the TemporalClustering object
Returns: a JSON formatted string representing the object
-
Methods¶
Data transformation and IO¶
TemporalClustering.to_json () |
Generate a JSON representation of the TemporalClustering object |
TemporalClustering.get_observation_ids () |
Returns the list of temporal ids for the available clusterings :return: a list of temporal ids |
TemporalClustering.get_clustering_at (time) |
Returns the clustering observed at a given time |
TemporalClustering.add_clustering (…) |
Add to the Temporal Clustering the communities observed at a given time |
TemporalClustering.get_community (cid) |
Returns the nodes within a given temporal community |
Evaluating Node Clustering¶
TemporalClustering.clustering_stability_trend (…) |
Returns the trend for community stability. |
Matching temporal clustering¶
TemporalClustering.community_matching (…) |
Reconstruct community matches across adjacent observations using a provided similarity function. |
TemporalClustering.lifecycle_polytree (…) |
Reconstruct the poly-tree representing communities lifecycles using a provided similarity function. |