libcity.data.dataset.dataset_subclass.line_dataset

class libcity.data.dataset.dataset_subclass.line_dataset.Alias(prob)[source]

Bases: object

sample()[source]
class libcity.data.dataset.dataset_subclass.line_dataset.LINEDataset(config)[source]

Bases: libcity.data.dataset.abstract_dataset.AbstractDataset

_generate_data()[source]

LINE 采用的是按类似于 Skip-Gram 的训练方式,类似于 Word2Vec(Skip-Gram),将单词对类比成图中的一条边, LINE 同时采用了两个优化,一个是对边按照正比于边权重的概率进行采样,另一个是类似于 Word2Vec 当中的负采样方法, 在采样一条边时,同时产生该边起始点到目标点(按正比于度^0.75的概率采样获得)的多个”负采样”边。 最后,为了通过 Python 的均匀分布随机数产生符合目标分布的采样,使用 O(1) 的 alias 采样方法

_load_cache()[source]

加载之前缓存好的训练集、测试集、验证集

_load_geo()[source]

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

_load_rel()[source]

加载.rel文件,格式[rel_id, type, origin_id, destination_id, properties(若干列)], 生成N*N的矩阵,默认.rel存在的边表示为1,不存在的边表示为0

Returns

self.adj_mx, N*N的邻接矩阵

Return type

np.ndarray

get_data()[source]

返回数据的DataLoader,包括训练数据、测试数据、验证数据

Returns

dict

Return type

batch_data

get_data_feature()[source]

返回一个 dict,包含数据集的相关特征

Returns

包含数据集的相关特征的字典

Return type

dict