毕业论文final-金雨欢 下载本文

上海大学硕士学位论文 2008年5月

Bagging与AdaBoost算法中,分别用到了四种算法作为弱分类器算法:C4.5决策树算法,随机决策树算法(Random tree),随机森林算法(Random forest)和最近邻算法(KNN)。在Bagging与AdaBoost算法中,除了弱分类器本身参数,对模型预报准确率影响有着至关重要作用的还有两个参数,迭代次数L与权重系数P(%)。

Bagging算法用C4.5决策树作为弱分类器训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)随建模参数L的增大而上升。Correct rate在L=30,P=92,C=0.20处拥有最佳的预报正确率72.53%。其中L为迭代次数,P为权重系数(%),C为C4.5决策树算法的适应因子。

Bagging算法用随机决策树(Random tree)作为弱分类器训练预报模型时,

预报模型的交叉验证预报正确率(Correct rate)与L有正关系,不随P的变化而改变。而且Correct rate最大值只有67.74%,并不具有实际应用价值。因此在后面工作中不对Random tree作为弱分类器的情况做进一步研究。

Bagging算法用随机森林(Random forest)作为弱分类器训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)在L=26,P=100时,拥有最大值73.61%。

Bagging算法用最近邻(KNN)作为弱分类器训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)随迭代次数L的增加而增加,到了L=26时开始趋于平稳。当L=28,P=91时,Correct rate有最大值74.21%。

AdaBoost算法用C4.5决策树作为弱分类器训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)随L的增加而上升,L=26时趋于平稳。当L=30,P=95,C=0.23时,预报模型有最大预报正确率76.15%。

AdaBoost算法用随机决策树(Random tree)作为弱分类器训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)预报正确率不到50%,不具有实用价值,因此后文不对该种情况做进一步探讨。

AdaBoost算法用随机森林(Random forest)作为弱分类器训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)随L的增加而逐步增长,当L=26后趋于平稳。当L=28,P=92时,预报模型有最大预报正确率76.24%。

AdaBoost算法用最近邻(KNN)作为弱分类器训练预报模型时,预报模型

38

上海大学硕士学位论文 2008年5月

的交叉验证预报正确率(Correct rate)随L的增加而逐步增长,在L=26后趋于稳定。当L=28,P=91时,模型有最大预报正确率74.21%。

因为数据集是非线性数据,所以SVM采用径向基核函数。用SVM训练预报模型时,预报模型的交叉验证预报正确率(Correct rate)随C的增加而上升,在C=50处取得最大值后开始稍有下降;Correct rate 与gamma有正关系。当C=50,epsilon=0.12,gamma=1.1时,预报模型有最大预报正确率76.46%。其中C为容忍因子,epsilon为不敏感损失函数,gamma是径向基核函数的gamma参数。

3.4.2 预报模型

根据上文工作,最终得到的预报模型见下表:

建模方法 C4.5决策树 Bagging 随机森林 最近邻 C4.5决策树 AdaBoost 随机森林 最近邻 SVM 建模参数 L=30,P=92,C=0.20 L=26,P=100 L=28,P=91 L=30,P=95,C=0.23 L=28,P=92 L=28,P=91 C=50,epsilon=0.12,gamma=1.1 交叉验证法预报正确率 72.53% 73.61% 74.21% 76.15% 76.24% 74.21% 76.46% 表3.2 预报模型信息

由上可见,在本文工作中AdaBoost的建模预报能力比Bagging略强,基本与SVM持平。

3.4.3 预报模型验证

建立预报模型的最终目的是为了对未知样本进行预报,所以有必要用独立测试样本集对预报模型进行检测。本文工作用一个包含2598个样本集的数据作为测试样本集(见3.3节)。结果见下表:

39