Page 232 - 《软件学报》2024年第6期
P. 232

2808                                                       软件学报  2024  年第  35  卷第  6  期


                         100                                    100


                          98                                     98


                          96                                     96
                        精度 (%)  94                              精度 (%)  94



                                                    SVM                                     SVM
                          92                        XGBoost      92                         XGBoost
                                                    RF                                      RF
                                                    BP                                      BP
                          90                                     90
                          1 000    2 000    3 000    4 000        1 000    2 000    3 000   4 000
                                         样本数量                                   样本数量
                                                            2 000
                             (a) 较小规模程序 PG1 上各子模型分类精度对比              (b) 较大规模程序 PG8 上各子模型分类精度对比
                          8                                     160

                                                                140
                          6                                     120

                          训练时间 (s)  4               SVM         训练时间 (s)  100               SVM
                                                                 80
                                                                                            XGBoost
                                                                                            RF
                                                    XGBoost
                                                    RF           60                         BP
                          2                         BP           40
                                                                 20

                          0                                       0
                          1 000    2 000    3 000    4 000        1 000    2 000    3 000   4 000
                                         样本数量                                   样本数量
                             (c) 较小规模程序 PG1 上各子模型训练时间对比              (d) 较大规模程序 PG8 上各子模型训练时间对比
                             图 4 各子模型在不同规模程序下及不同样本数量上的分类精度、训练时间对比

                    在保证子模型精度的情况下, 其训练时间应尽可能少. 由图                   4(c) 和图  4(d) 可看出, 不论是较小规模还是较大
                 规模程序, 随着样本数量增加, SVM, XGBoost, RF        这  3  个子模型的训练时间增加缓慢, BP        则增加较为明显, 且
                 SVM  和  XGBoost 的训练时间少于    RF  和  BP  这两个子模型.
                    结合图   4(a) 和图  4(b) 中的分类精度, 当样本数量从          增加到   3 000  时, 大部分子模型的分类精度仍处于提
                 升阶段, 样本数量从      3 000  增加到  4 000  时, 各子模型精度增加不明显, 除了     BP  子模型, 其他模型的训练时间增幅
                 较小. 因此, 综合考虑不同子模型效率, 样本数量设置为               3 000  左右较为合适. 此外, 对比不同程序上各子模型分类
                 精度和训练时间, 在小样本数量上, SVM           和  XGBoost 较其他两种子模型结果均较优. 在测试数据为数值型程序
                 PG1  上, SVM  模型在保证分类结果准确的同时, 训练时间也较少; 在包含非数值型测试数据的程序                             PG8  上,
                 XGBoost 模型在精度上相比于       SVM  更优, 训练时间略高于      SVM. 在面对不同程序时, 基于分类精度与训练时间方
                 面的考虑, SVM   和  XGBoost 这两个子模型可互为补充, 相辅相成, 适用于测试中的路径节点状态分类与预测问题.
                  5.3.2    模型对比及分析
                    由上述实验可知, 继续增加样本数量, 子模型精度仍有可提高的空间. 为选取更合适的样本数量, 以及验证本
   227   228   229   230   231   232   233   234   235   236   237