时间聚类

TemporalClustering 模型随着时间推移而演变的社区。

每个时间社区聚类观察都是一个Clustering对象,因此它继承了其特定具体类的所有属性。

概述

class cdlib.TemporalClustering
add_clustering(clustering: object, time: object)

将观察到的社区添加到时间聚类中

Parameters:
  • 聚类 – 一个聚类对象

  • time – 观测时间

add_matching(matching: list)

添加一个预计算的社区匹配。

Parameters:

matching – 一个元组列表 [(Ti_Ca, Tj_Cb, score), … ]。 社区名称需要满足模式 {tid}_{cid},其中 tid 是观察时间, cid 是社区在 Clustering 对象中的位置。

clustering_stability_trend(method: Callable[[object, object], float]) list

返回社区稳定性的趋势。 稳定性指数是为时间上相邻的聚类对计算的。

Parameters:

method – 一种比较分数,将两个聚类对象作为输入(例如,NMI、NF1、ARI…)

Returns:

浮点数列表

get_clustering_at(time: object) object

返回在给定时间观察到的聚类

Parameters:

time – 观察时间

Returns:

一个聚类对象

get_community(cid: str) list

返回给定时间社区内的节点

Parameters:

cid – 社区ID,格式为{tid}_{cid},其中tid是观察时间,cid是社区在Clustering对象中的位置。

Returns:

cid 内的节点列表

get_explicit_community_match() list

返回计算社区的显式匹配(如果存在)

Returns:

一个元组列表 [(Ti_Ca, Tj_Cb, score), … ]。 社区名称按照模式 {tid}_{cid} 分配,其中 tid 是观察时间, cid 是社区在聚类对象中的位置。

get_observation_ids() list

返回可用聚类的时间ID列表 :return: 时间ID列表

has_explicit_match() bool

检查算法是否提供了时间社区的显式匹配

Returns:

一个元组列表 [(Ti_Ca, Tj_Cb, score), … ]。 社区名称按照模式 {tid}_{cid} 分配,其中 tid 是观察时间, cid 是社区在 Clustering 对象中的位置。

to_json()

生成TemporalClustering对象的JSON表示

Returns:

表示对象的JSON格式字符串

方法

数据转换和输入输出

TemporalClustering.to_json()

生成TemporalClustering对象的JSON表示

TemporalClustering.get_observation_ids()

返回可用聚类的时间ID列表 :return: 时间ID列表

TemporalClustering.get_clustering_at(时间)

返回在给定时间观察到的聚类

TemporalClustering.add_clustering(...)

将观察到的社区添加到时间聚类中

TemporalClustering.get_community(cid)

返回给定时间社区内的节点

评估节点聚类

TemporalClustering.clustering_stability_trend(method)

返回社区稳定性的趋势。