表4. 1 样例I—4维测试数据数据(表中仅列出部分数据)17 表4. 2 样例I—6维测试数据数据(表中仅列出部分数据)18 表4. 3 样例II—12维测试数据(表中仅列出部分
表4. 1 样例I—4维测试数据数据(表中仅列出部分数据) 17
表4. 2 样例I—6维测试数据数据(表中仅列出部分数据) 18
表4. 3 样例II—12维测试数据(表中仅列出部分数据) 19
表4. 4 4维数据的不同参数设置的error_rate 21
表4. 5 15维数据的不同参数设置的error_rate 21
表4. 6 5维数据的不同参数设置的MSE_rate 24
表4. 7 12维数据的不同参数设置的MSE_rate 25
1 绪论
1.1 研究背景及意义
随着计算机技术的发展,人们已经能够获取并存储海量数据。此如何从海量数据中提取有用信息并加以利用,已经成为了学术界近年来的研究热点之一。在数据挖掘领域中已经催生出了各种各样的数据分析算法,对于数据分析模型的应用也已经渗透到日常生活的各个方面,比如用于各类网页的兴趣推荐、股票涨跌预测、购物预测推荐等。进而言之,数据分析模型在众多科学领域,比如生物信息学、管理学、文本分类以及模式识别等领域都有着广泛的应用。在众多的数据分析算法中,而随机森林[1]以训练速度快、预测精度高、适用于高维数据等优点,已经成为一种广泛使用的数据分析模型的工具。
随机森林是基于集成学习模型思想的一种算法,集成学习即通过不同方法训练出多个学习器,集成多个学习器的结果。最早的集成学习方法主要包括boosting[2]和bagging[3]。这两种方法都是通过重采样和弱分类器融合实现的方法。和bagging方法相比,boosting方法加入了权值采样和权重强分类的概念。而随机森林和上述两种方法的不同之处在于,该方法将许多决策树组成一个模型,其中每棵决策树使用不同的重抽样样本来进行训练,最终结果由所有决策树投票决定。
1.2 研究现状及相关文献
1.3 本文研究工作
本课题的主要工作是深入研究集成学习的基本原理和随机森林的算法思想,并设计合理的数据结构和设计流程实现随机森林算法,最终通过真实数据集验证了所设计的算法在数据分类、回归和降维等应用中的优越性。
本课题的研究内容主要围绕以下几个方面展开:一、探讨了随机森林的算法原理,以及同其他集成学习方法的联系和不同点;二、使用MATLAB和C语言混合编程实现了随机森林算法的主要功能模块,如分类树生成、回归树生成、重要度排序等;三、选用了多种不同特点的UCI数据集,根据所实现的随机森林算法对所选数据进行分析,并设计了图形界面提供实验结果的可视化;四、在分类、回归等分析的基础上,使用随机森林算法对数据特征属性的重要度进行排序,实现了针对高维数据的特征选择和降维操作。
1.4 总体技术方案及其社会影响
本课题的研究内容是运用所学理论和技术手段去分析、设计和开发随机森林算法在数据分析模型中的应用。通过对现有的多样性的数据进行合理分析,理解并掌握随机森林在数据分析中的原理以及软件设计开发规范,系统全面地分析随机森林算法在数据模型中的有效性和适用性。本课题实现的算法在不同的UCI数据集上,通过多种数据分析应用验证了随机森林算法的灵活性和高效性。随机森林算法在数据分类、回归及降维应用中的良好性能,展示了该算法在数据挖掘、信息处理、图像识别等众多应用领域具有准确、方便、快速分析数据特征的巨大潜力。
1.5 技术方案的经济因素分析
本课题通过分析随机森林算法在数据集上的分类和回归等效果,验证该算法的高效性。由于算法通过MATLAB和C语言混合编程实现,因此实验只需要具备相应编程环境和数据集即可,同时本课题使用权威的公开数据集完成实验,在获得可靠实验结果的同时具有较高的性价比。随机森林算法的一个重要特征是能够对数据属性的重要度进行排序,根据所得的重要度排序能够对数据模型进行降维以简化模型复杂度。因此该算法的广泛使用能够极大提高数据分析应用的效率并减少数据存储和计算成本。