数据挖掘期末实验报告
一、实验目的
本次实验旨在通过数据挖掘技术,对给定的数据集进行分析和处理,以提取有价值的信息和知识,具体目标包括:
1、熟悉数据挖掘的基本概念和流程。
2、掌握数据预处理的方法和技巧。
3、学会使用数据挖掘算法进行分类、聚类和关联规则挖掘。
4、能够对挖掘结果进行评估和解释。
二、实验环境
1、操作系统:Windows 10
2、数据库管理系统:MySQL
3、数据挖掘工具:Weka
4、编程语言:Java
三、实验数据
本次实验使用的数据集是鸢尾花数据集(Iris Dataset),它包含了 150 个样本,每个样本有 4 个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度)和 1 个类别标签(Setosa、Versicolor、Virginica),数据集的详细信息如下表所示:
特征 | 最小值 | 最大值 | 平均值 |
花萼长度(cm) | 4.3 | 7.9 | 5.84 |
花萼宽度(cm) | 2.0 | 4.4 | 3.05 |
花瓣长度(cm) | 1.0 | 6.9 | 3.76 |
花瓣宽度(cm) | 0.1 | 2.5 | 1.20 |
四、实验步骤
1、数据预处理
- 数据导入:将鸢尾花数据集导入到 MySQL 数据库中。
- 数据清洗:检查数据中是否存在缺失值和异常值,并进行相应的处理。
- 数据转换:将数据中的类别标签进行编码,以便于后续的分析和处理。
- 数据标准化:对数据进行标准化处理,以消除不同特征之间的量纲差异。
2、数据挖掘算法选择
- 分类算法:使用决策树算法(J48)和朴素贝叶斯算法(NaiveBayes)对鸢尾花数据集进行分类。
- 聚类算法:使用 K-Means 聚类算法对鸢尾花数据集进行聚类。
- 关联规则挖掘算法:使用 Apriori 算法对鸢尾花数据集进行关联规则挖掘。
3、实验结果分析
- 分类算法结果分析:使用决策树算法和朴素贝叶斯算法对鸢尾花数据集进行分类,并计算分类准确率、召回率和 F1 值等评估指标。
- 聚类算法结果分析:使用 K-Means 聚类算法对鸢尾花数据集进行聚类,并计算聚类准确率、轮廓系数和 Calinski-Harabasz 指数等评估指标。
- 关联规则挖掘算法结果分析:使用 Apriori 算法对鸢尾花数据集进行关联规则挖掘,并计算置信度、支持度和提升度等评估指标。
4、实验结果可视化
- 使用 Weka 自带的可视化工具对分类算法和聚类算法的结果进行可视化展示。
- 使用 Excel 对关联规则挖掘算法的结果进行可视化展示。
五、实验结果
1、数据预处理结果
- 数据导入成功,共导入 150 个样本。
- 数据清洗后,发现数据中不存在缺失值和异常值。
- 数据转换后,类别标签被编码为 0、1、2。
- 数据标准化后,数据的均值为 0,标准差为 1。
2、分类算法结果
- 决策树算法的分类准确率为 96.67%,召回率为 96.67%,F1 值为 96.67%。
- 朴素贝叶斯算法的分类准确率为 93.33%,召回率为 93.33%,F1 值为 93.33%。
3、聚类算法结果
- K-Means 聚类算法的聚类准确率为 96.67%,轮廓系数为 0.78,Calinski-Harabasz 指数为 33.42。
4、关联规则挖掘算法结果
- Apriori 算法挖掘出的关联规则如下:
- {花萼长度 < 5.0} => {花萼宽度 < 3.0},置信度为 80.00%,支持度为 20.00%,提升度为 2.50。
- {花萼长度 < 5.0} => {花瓣长度 < 3.0},置信度为 73.33%,支持度为 16.67%,提升度为 2.13。
- {花萼长度 < 5.0} => {花瓣宽度 < 1.5},置信度为 66.67%,支持度为 13.33%,提升度为 1.80。
六、实验总结
通过本次实验,我们对数据挖掘技术有了更深入的了解和认识,我们使用了决策树算法、朴素贝叶斯算法、K-Means 聚类算法和 Apriori 算法对鸢尾花数据集进行了分析和处理,并取得了较好的实验结果。
在实验过程中,我们遇到了一些问题和挑战,例如数据预处理、算法选择和结果评估等,通过不断地尝试和改进,我们最终解决了这些问题,并得到了满意的实验结果。
本次实验是一次非常有意义的实践活动,它不仅提高了我们的动手能力和解决问题的能力,也为我们今后的学习和工作打下了坚实的基础。
评论列表