Orion-wyc / GAGA

Fraud Detection, Low Homophily, Label Utilization, Graph Mining
42 stars 4 forks source link

How to sample multi-hop neighbors #4

Open Xiaobaijav opened 4 months ago

Xiaobaijav commented 4 months ago

进行邻居采样的时候,参数里面有一个列表,如果是-1表示考虑全部邻居节点,那如果想采样two-hop, 那这个参数如何设置值呢,这个参数为什么要设置成列表的形式呢 parser.add_argument('--fanouts', type=int, default=[-1], nargs='+', help='Sampling neighbors, default [-1] means full neighbors')

Orion-wyc commented 4 months ago

进行邻居采样的时候,参数里面有一个列表,如果是-1表示考虑全部邻居节点,那如果想采样two-hop, 那这个参数如何设置值呢,这个参数为什么要设置成列表的形式呢 parser.add_argument('--fanouts', type=int, default=[-1], nargs='+', help='Sampling neighbors, default [-1] means full neighbors')

  1. 本文使用了两阶邻居,在README.md的示例中,对应参数设置为--fanouts -1 -1。同理,如果要使用更高阶的全部邻居节点,补充-1即可。
  2. 参数设置成列表的形式,目的是提供参数选项,自定义每阶采样节点的数量,可参考GraphSage。GAGA预处理阶段会读取列表中的采样数,代码在此处
Xiaobaijav commented 4 months ago

如果不是-1呢

Orion-wyc commented 4 months ago

如果不是-1呢

可以尝试输入其它自然数(当然,0的意义不大,表示不采样),对于给定的fanouts列表,GAGA会尝试采样,原理同GraphSAGE。

详细说明请参照上条回答第二点,连接中是采样代码。

Xiaobaijav commented 4 months ago

谢谢 我再研究一下代码