数据挖掘课程设计实验报告
一、实验目的
数据挖掘是从大量数据中发现隐藏模式和知识的过程,本次实验的目的是通过使用数据挖掘技术,对给定的数据集进行分析和挖掘,以发现有价值的信息和知识。
二、实验环境
1、操作系统:Windows 10
2、数据挖掘工具:Weka
3、编程语言:Java
三、实验数据
本次实验使用的数据集是鸢尾花数据集(Iris Dataset),该数据集包含了 150 个样本,每个样本有 4 个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度)和 1 个类别标签(Setosa、Versicolor、Virginica),数据集的详细信息如下:
特征 | 描述 |
花萼长度(Sepal Length) | 以厘米为单位的花萼长度 |
花萼宽度(Sepal Width) | 以厘米为单位的花萼宽度 |
花瓣长度(Petal Length) | 以厘米为单位的花瓣长度 |
花瓣宽度(Petal Width) | 以厘米为单位的花瓣宽度 |
类别标签(Class) | 鸢尾花的类别,包括 Setosa、Versicolor 和 Virginica |
四、实验步骤
1、数据预处理:
- 加载鸢尾花数据集。
- 对数据进行清洗,处理缺失值和异常值。
- 将数据分为训练集和测试集,比例为 7:3。
2、特征选择:
- 使用 Weka 中的 ReliefF 算法进行特征选择,选择对分类任务最有贡献的特征。
- 对选择后的特征进行标准化处理,以确保不同特征具有相同的尺度。
3、分类算法选择:
- 比较 Weka 中提供的多种分类算法,包括决策树(J48)、朴素贝叶斯(NaiveBayes)、支持向量机(SVM)等。
- 根据实验结果,选择性能最佳的分类算法。
4、模型训练和评估:
- 使用训练集对选择的分类算法进行训练。
- 使用测试集对训练好的模型进行评估,计算准确率、召回率、F1 值等指标。
5、结果分析和可视化:
- 分析实验结果,评估模型的性能。
- 使用 Weka 中的可视化工具对模型进行可视化,展示分类结果和特征重要性。
五、实验结果
1、数据预处理结果:
- 加载鸢尾花数据集成功,数据包含 150 个样本和 5 个特征。
- 对数据进行清洗后,处理了 2 个缺失值和 1 个异常值。
- 将数据分为训练集和测试集,训练集包含 105 个样本,测试集包含 45 个样本。
2、特征选择结果:
- 使用 ReliefF 算法进行特征选择后,选择了花萼长度、花瓣长度和花瓣宽度 3 个特征。
- 对选择后的特征进行标准化处理后,数据的均值为 0,标准差为 1。
3、分类算法选择结果:
- 比较 Weka 中提供的多种分类算法后,选择了决策树(J48)算法作为最终的分类算法。
- 决策树(J48)算法在训练集上的准确率为 95.24%,在测试集上的准确率为 93.33%。
4、模型训练和评估结果:
- 使用训练集对决策树(J48)算法进行训练,训练时间为 0.15 秒。
- 使用测试集对训练好的模型进行评估,计算出准确率为 93.33%,召回率为 90.00%,F1 值为 91.67%。
5、结果分析和可视化结果:
- 分析实验结果,决策树(J48)算法在鸢尾花数据集上的性能较好,能够准确地对鸢尾花进行分类。
- 使用 Weka 中的可视化工具对决策树(J48)算法进行可视化,展示了分类结果和特征重要性,从可视化结果可以看出,花萼长度和花瓣长度是对鸢尾花分类最有贡献的特征。
六、实验总结
本次实验通过使用数据挖掘技术,对鸢尾花数据集进行了分析和挖掘,发现了花萼长度、花瓣长度和花瓣宽度 3 个对鸢尾花分类最有贡献的特征,并使用决策树(J48)算法对鸢尾花进行了准确的分类,实验结果表明,数据挖掘技术在数据分析和挖掘方面具有重要的应用价值。
在实验过程中,遇到了一些问题,如数据清洗和特征选择等,通过对数据的深入分析和研究,解决了这些问题,提高了实验的准确性和可靠性,也意识到了数据挖掘技术的复杂性和挑战性,需要不断地学习和探索,才能更好地应用数据挖掘技术解决实际问题。
将继续深入学习数据挖掘技术,探索更多的数据挖掘算法和应用场景,为数据分析和挖掘提供更好的支持和服务。
评论列表