data icon indicating copy to clipboard operation
data copied to clipboard

关于人工添加异常的数据集问题

Open uuice11 opened this issue 1 year ago • 1 comments

尊敬的作者您好,拜读了您的BOND文章,对于其中数据集构建有一些疑问: 1.inj_cora,inj_amazon和inj_flickr是人工添加异常的数据集,其中标签是0和1构成的,用于异常检测二分类,在图节点分类任务中,cora的类别有七类,对应的标签0-6,图异常检测的标签划分是基于这个转换的吗,还是说这些数据集在构建的时候就按照0和1构成,那么用于异常检测的原始cora数据集可以在哪里下载呢 2.这两个函数def gen_contextual_outlier(data, n, k, seed=None):def gen_structural_outlier(data, m, n, p=0, directed=False, seed=None):中对应上面三个数据集的m,n,k三个参数的值可以在那里查看,有cora生成inj_cora的完整代码可以参考吗 非常期待您的回复

uuice11 avatar Apr 08 '24 04:04 uuice11

我的理解:

  1. Cora的7分类和图异常检测没有关系,这几个数据集上的异常都是直接调用你说的那两个api随机注入的。关于标签:当不区分“上下文异常”和“结构异常”两种异常时,取并集,标签是0和1;当区分“上下文异常”和“结构异常”时,这里将0-3四个标签巧妙地代表了两种异常的存在情况,并且可用位运算直接获取每种异常的存在情况,详情可见README~

  2. 你说的那两个api的参数见官方文档的源码,或你在编辑器里跳转查阅一下,在源码中有相应的参数说明

  3. 如果你想要获取未注入异常的Cora,可以使用PyG提供的Planetoid

  4. 如果你想要获取注入异常的Cora,你使用使用PyGOD提供的两个api进行异常注入;或者直接用load_data加载PyGOD官方注入好的inj_cora数据集。官方生成的这个inj_cora比较“严格”,相较于自己注入的数据集在异常检测上难度更大,具体生成方式应该可以参考下之前的issue?

Lqyrmk avatar Jun 06 '25 12:06 Lqyrmk