集成学习与随机森林算法对比实验报告
一、实验目的
本课程的教学目标,对人工智能从整体上有一个较清晰全面的系统了解;使学生掌握人工智能的基本概念、基本原理和基本方法:了解人工智能研究与应用的最新进展和发展方向;开阔学生知识视野、提高解决问题的能力,为将来接触使用人工智能工相关问题奠定初步基础。《Ai识别技术》中重点讲解各种算法在python中的使用,让学生了解识别技术的原理和应用,为将来工作打下坚实的基础。本课程的知识目标是:使用python完成识别的算法技术,对人工智能的算法做一定的了解,对于识别技术的原理做一定的了解。
二、实验内容和要求
以个人为单位实现波士顿房价预测,下图是房价预测的属性:
- 请使用2种不一样的算法(集成学习与随机森林)来进行计算。
- 分析属性结果,并分析2种算法的对于本样本数据的实用度。
3.分析属性结果,说明2种算法的优劣和原因。
要求:代码截图,运行结果截图,分析过程,分析结果。
三、实验环境
1.windows10以上试验机一台。
2.JetBrains PyCharm 开发工具
四、实验方法和步骤
1、通过使用AdaBoosting预测波士顿房价
(1)加载所需的库和模块
(2)数据准备
(3)构建模型
(4)模型训练与预测
(5)模型评估
(6)数据可视化
2、通过使用随机森林预测波士顿房价
(1)加载所需的库和模块
(2)数据准备
(3)构建模型
(4)模型训练与预测
(5)模型评估
(6)数据可视化
3、分析属性结果,并分析2种算法的对于本样本数据的实用度。
首先,我们需要计算特征重要性和模型评估指标,例如计算均方误差、均方根误差、平均绝对误差和决定系数(R2)。通过两种算法在预测波士顿房价方面的表现进行对于本样本数据的实用度分析。
AdaBoosting 算法:
AdaBoosting 是一种自适应的提升方法,通过组合多个弱分类器来提高预测准确性。对于波士顿房价数据集,我们可以通过计算每个属性的特征重要性来分析 AdaBoosting 算法的实用度。如果特征重要性较高,说明该属性对预测房价有较大影响。
随机森林算法:
随机森林是一种基于决策树的集成方法。它通过构建多个决策树并综合它们的预测结果来提高预测准确性。我们同样可以计算特征重要性来分析随机森林算法在波士顿房价数据集上的实用度。
通过上面的两张数据图的对比,对于两种算法进行实用度的评估,我们可以比较两种算法的均方误差、均方根误差、平均绝对误差和决定系数(R2)。较低的均方误差、均方根误差、平均绝对误差和较高的定系数(R2) 表示算法在预测波士顿房价上具有更好的实用度。所以随机森林在实用度上比AdaBoosting算法更好。
4、分析属性结果,说明2种算法的优劣和原因。
AdaBoosting 优势:
自适应:AdaBoosting 算法能够自动识别出预测较差的样本,并在后续的训练过程中对这些样本进行更多关注。这有助于提高整体预测性能。
易于实现:相较于其他集成方法,AdaBoosting 算法较为简单,易于实现。
AdaBoosting 劣势:
对噪声数据敏感:由于 AdaBoosting 需要关注预测较差的样本,噪声数据可能会导致算法对这些错误样本过分关注,从而影响预测性能。
训练时间较长:由于 AdaBoosting 需要逐个训练弱分类器,因此训练时间可能较长。
随机森林优势:
防止过拟合:随机森林通过构建多个决策树并融合它们的预测结果来提高预测准确性,这有助于防止过拟合。
可以处理高维数据:随机森林可以处理具有大量特征的数据集,适用于高维数据。
可并行训练:随机森林中的决策树可以并行训练,从而降低训练时间。
随机森林劣势:
预测速度较慢:由于随机森林需要对多个决策树进行预测并融合结果,因此预测速度相对较慢。
根据属性结果分析,我们可以得出以下结论:
如果 AdaBoosting 算法在波士顿房价数据集上具有较低的 MSE 和较高的R2,那么它可能更适用于这个问题。然而,需要注意的是 AdaBoosting 可能对噪声数据较为敏感,需要对数据进行预处理。
如果随机森林在波士顿房价数据集上具有较低的 MSE 和较高的R2,那么它可能更适用于这个问题。随机森林对噪声数据的鲁棒性较好,但预测速度可能较慢。
五、实验结果
1、AdaBoosting算法
2、随机森林算法
六、实验总结
在本实验中,我们使用了随机森林和 AdaBoosting 算法对波士顿房价数据集进行预测。实验过程如下:
1、加载波士顿房价数据集。
2、将数据集划分为训练集和测试集。
3、使用随机森林和 AdaBoosting 算法分别创建模型,并训练。
4、使用训练好的模型对测试集进行预测。
5、模型评估,计算各个模型的均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)和决定系数(R2)。
6、可视化,绘制实际房价与预测房价的散点图。
实验结果表明,两种算法均能对波士顿房价进行预测。通过计算各个模型的评估指标,可以发现随机森林和 AdaBoosting 算法在波士顿房价预测任务上的表现。具体的评估指标数值如下图。
实际房价与预测房价的散点图可以直观地展示出模型预测的准确性。理想情况下,散点应该集中在一条直线上,表示预测值与实际值完全一致。通过观察散点图(如下图),可以对比两种算法在波士顿房价预测任务上的表现。
总之,在本实验中,我们成功地使用了随机森林和 AdaBoosting 算法预测波士顿房价,并通过计算评估指标和绘制散点图对比了两种算法的预测效果。这为进一步优化模型和选择合适的算法提供了依据。