ant-research / Spatio-Temporal-Hypergraph-Model

Apache License 2.0
42 stars 8 forks source link

为什么代码里在评估模型时用的是recall,但是在论文里用的是acc呢? #2

Closed qq543411419 closed 1 year ago

qq543411419 commented 1 year ago

如题,求解答

QiQingY commented 1 year ago

如题,求解答

在我们的实验设置中,每一个样本仅仅只有一个ground truth,所以针对每一个样本,如果我们推荐的top N里包含这个ground truth,那么这个样本的prediction metric就为1,否则为0,可以理解为分母为1,分子为0或者1。而对于整个测试集,就是对所有样本的prediction metric的一个平均。

在STAN的论文叫做recall@N,在GETNext叫做acc@N,但是他们的计算逻辑都是一样的。

虽然我们代码里用的recall,论文用的accuracy,但是其实我认为叫做recall@N会更合适一些。

另外补充一点,如果Label对应的ground truth对应的是一个集合的话,acc@N和recall@N的区别就更好弄清楚一些 :)