libcity.data.dataset.hgcn_dataset

class libcity.data.dataset.hgcn_dataset.HGCNDataset(config)[source]

Bases: libcity.data.dataset.traffic_state_datatset.TrafficStateDataset

_add_external_information(df, ext_data=None)[source]

增加外部信息(一周中的星期几/day of week,一天中的某个时刻/time of day,外部数据) :param df: 交通状态数据多维数组, (len_time, num_nodes, feature_dim) :type df: np.ndarray :param ext_data: 外部数据 :type ext_data: np.ndarray

Returns

融合后的外部数据和交通状态数据, (len_time, num_nodes, feature_dim_plus)

Return type

np.ndarray

_load_dyna(filename)[source]

加载.dyna文件,格式[dyna_id, type, time, entity_id, properties(若干列)] 其中全局参数`data_col`用于指定需要加载的数据的列,不设置则默认全部加载 :param filename: 数据文件名,不包含后缀 :type filename: str

Returns

数据数组, 3d-array (len_time, num_nodes, feature_dim)

Return type

np.ndarray

_load_geo()[source]

加载.geo文件,格式[geo_id, type, coordinates, properties(若干列)]

_load_rel()[source]

加载.rel文件,格式[rel_id, type, origin_id, destination_id, properties(若干列)] :returns: self.adj_mx, N*N的邻接矩阵 :rtype: np.ndarray

calculate_F(mat, k)[source]

‘#求特征值

calculate_adj_mx_cluster()[source]
Returns

#聚类结果[cluster_num][] 聚类标识[cluster_num][]

calculate_normalized_laplacian(adj)[source]

#计算正则化后的拉普拉斯矩阵 # L = D^-1/2 (D-A) D^-1/2 = I - D^-1/2 A D^-1/2 # D = diag(A 1) :param adj: :return:

get_cluster()[source]
Returns

聚类后的中心向量矩阵,区域[节点]

get_data_feature()[source]

返回数据集特征,scaler是归一化方法,adj_mx是邻接矩阵,num_nodes是点的个数, feature_dim是输入数据的维度,output_dim是模型输出的维度 :returns: 包含数据集的相关特征的字典 :rtype: dict

class libcity.data.dataset.hgcn_dataset.KMeansClusterer(F, cluster_num)[source]

Bases: torch.nn.modules.module.Module

cluster()[source]
training: bool