THUDM / GATNE

Source code and dataset for KDD 2019 paper "Representation Learning for Attributed Multiplex Heterogeneous Network"
MIT License
525 stars 141 forks source link

验证集里面的节点在训练集中没有,导致无法验证怎么办? #67

Closed xiaohuangandxiaobai closed 3 years ago

xiaohuangandxiaobai commented 4 years ago

您好,我在自己造的数据集上使用模型,训练集、验证集、测试集都是从一个边的数据列表中分出来的,后来发现每个数据集中的节点只有部分重合,导致final_model中的节点向量不全,没法验证和测试,怎么办?

是我的理解哪里有误吗还是数据集构造错了呢。

xiaohuangandxiaobai commented 4 years ago

报错是这样的: ValueError: Only one class present in y_true. ROC AUC score is not defined in that case.

分析出是因为evaluate函数中计算true_edges时候的score都是None,只有部分false_edges的score不是None, 导致true_list里面只有0.

如何解决?

cenyk1230 commented 4 years ago

@xiaohuangandxiaobai,

感谢您对我们工作的关注。在论文的实验里,我们是按照transductive setting来做的。在划分处理数据集的时候,可以考虑在验证集和测试集中将训练集中未出现过的节点去掉。

Aliang-CN commented 3 years ago

哈哈,这个简单,你在做数据集的时候,收集一下训练集的节点,然后把val和test的过滤一下就行了

DuanXu-97 commented 3 years ago

@xiaohuangandxiaobai,

感谢您对我们工作的关注。在论文的实验里,我们是按照transductive setting来做的。在划分处理数据集的时候,可以考虑在验证集和测试集中将训练集中未出现过的节点去掉。

您好,非常感谢您的工作,请问GATNE-I是inductive model,为什么在实验室却使用transductive的setting呢?据我所知,GATNE-I模型学习的是变换函数而不是training data的嵌入,那我是否可以通过更改模型的输入从而实现inductive setting?

luolo-cry commented 1 year ago

@xiaohuangandxiaobai, 感谢您对我们工作的关注。在论文的实验里,我们是按照transductive setting来做的。在划分处理数据集的时候,可以考虑在验证集和测试集中将训练集中未出现过的节点去掉。

您好,非常感谢您的工作,请问GATNE-I是inductive model,为什么在实验室却使用transductive的setting呢?据我所知,GATNE-I模型学习的是变换函数而不是training data的嵌入,那我是否可以通过更改模型的输入从而实现inductive setting?

你好,我现在也遇到了同样的困惑,请问你有答案了吗?