Page 152 - 《软件学报》2025年第5期
P. 152
2052 软件学报 2025 年第 36 卷第 5 期
试集; Azure 项目中版本 3.0.0.8 作为训练集, 版本 4.5.0.2 作为测试集; Maven 项目中版本 2.0.0 作为训练集, 版本
3.2.2 作为测试集.
表 1 实验数据集信息
数据集 版本号 粒度类别 节点数 边数
package 107 409
1.0.0 class 1 563 6 564
function 17 421 40 792
package 70 309
Ant 1.4.0 class 1 209 4 674
function 15 329 29 268
package 71 274
1.7.6 class 1 261 4 717
function 15 756 30 362
package 417 2 999
3.0.0.8 class 4 945 26 827
function 25 119 46 753
package 476 3 815
Azure 3.7.0.1 class 7 062 36 030
function 36 589 70 636
package 476 4 461
4.5.0.2 class 7 662 43 985
function 39 711 76 618
package 109 561
2.0.0 class 706 2 618
function 7 803 15 754
package 201 939
Maven 2.6.1 class 1 786 6 007
function 19 386 38 421
package 299 1 612
3.2.2 class 4 736 17 332
function 42 613 79 044
3.2.2 评价指标与基准方法
交互关系预测任务中常用曲线下面积 (AUC) 和平均精度 (AP) 值作为评价指标 [39] . 选择这两个作为评价指标
的优势有: (1) 适用于不平衡数据集. AUC 和 AP 不受类别不平衡的影响, 对于正负样本分布不均匀的数据集仍然
能够提供较为客观的评估 [40] . (2) 对排序任务敏感. AUC 和 AP 都对模型输出的排序任务敏感. 在交互关系预测中,
对于确定是否存在连边关系的样本, 模型输出的分数越高的样本越有可能是正样本, 这与 AUC 和 AP 的排序敏感
性相契合. (3) 适用于样本比例变化. 在交互关系预测中, 正样本和负样本的比例可能会随着任务和数据集的不同
而变化. AUC 和 AP 对于不同正负样本比例的情况都相对鲁棒, 这也契合本文后续对跨版本交互关系预测任务的
研究. 对于二者的计算公式:
1
TP×TN + × FP×(FP−1)
AUC@G = 2 (12)
P× N
( )
∑
TP k
AP@G = ×∆Recall k (13)
k TP k + FP k
其中, G 表示粒度类别, 分别为 package、class 和 function. TP 为真正例数, 表示模型正确地预测了正类别的样本
数量, 即真实为正, 模型也预测为正的样本数量; FP 为假正例数, 表示模型错误地将负类别的样本预测为正类别,