算法1:划分数据集

输入:邻接矩阵(net)、比率(0.9) (训练集train元素个数与测试集test个数的比值)

1. 根据数据,统计所有的边并将其放入邻接表;

2. 随机选择边;

3. 判断所选边的两端端点是否可达,如果是,就把它放到test中;

4. 重复步骤2和3。

输出:train和test

算法2:相似值计算

输入:train和test

基于相似度指标的定义(CN,Salton,Jaccard,S∅rensen,HPI,HDI,LHN-I,AA,RA,PA),利用训练集中的网络拓扑信息,测试集与不存在的边根据表1计算集合中所有节点构成的连通边的相似度值矩阵。

输出:sim

算法3:AUC值计算

输入:train、test和sim

1. 只保留了测试集和不存在边集之间的相似值;

2. 取两个集合(test和non)的上三角矩阵及相应的相似值得分;

3. 通过相应的相似值得分的比较,得到 n n

4. 通过公式(2)计算得到AUC值。

输出:AUC