visual fortran常用数值算法集_链路预测算法的评价指标

visual fortran常用数值算法集_链路预测算法的评价指标_第1张图片

该文章主要参考吕琳媛的《复杂网络链路预测》以及博文《链路预测(Link prediction)中常用的评价指标(evaluation metrics)》。

衡量链路预测算法精确度的指标有三种:AUC、Precision、Ranking Score。

定义 ( G, V, E) 为一个无向网络,其中V为节点集合,E为边集合。网络总的节点数为N,边数为M。该网络共有N(N-1)/2个节点对,即全集U。

将已知的连边

分为训练集
和测试集
两部分。从数据集中选取一部分边作为测试集
,并将这部分边从数据集中删去,由数据集中剩余部分的边作为训练集
。显然有
,且
Ø。同时,网络中还有一些节点之间并没有边相连,将这些边称为不存在的边。

1.AUC(area under the receiver operating characteristic curve)

AUC从整体上衡量算法的准确性。链路预测算法在经过训练后可以得到网络中每一对节点的相似值(即边的相似值)。AUC指标即是基于测试集中边的相似值和不存在的边的相似值的比较(即以不存在的边作为基准)。

,则数值的分子加1(此时证明预测效果良好);

,则数值的分子加0.5(此时相当于随机选择);

,则数值的分子加0。

表示相似值)

数值的分母则是测试集中的边的相似值与不存在的边的相似值比较的次数。

AUC指标即为数值分子与数值分母的比值,AUC大于0.5的程度衡量了算法在多大程度上优于随机选择的算法。

2.Precision

Precision只考虑前L位的边是否预测准确。链路预测算法经过训练后会得到节点对之间的相似值,去除训练集

中的边,仅将测试集
和不存在的边集合中的边的相似值进行排序,排序后取前L个。假设L个中有N个属于测试集,那么
Precision值为

3.Ranking Score

Ranking Score只考虑所测试的边的排序。令

为未知边的集合(即测试集中的边和不存在的边的集合构成的集合),
表示未知边
在排序中的排名,则该条未知边的Ranking Score(RS)值为
, |H|为H中的元素个数。遍历所有在测试集中的边,得到算法的
RS值为
.

以上三个指标主要以AUC为主,在AUC基本相同的情况下,可以再以Precision作为标准衡量算法精确度。

你可能感兴趣的:(visual,fortran常用数值算法集)