黑狐家游戏

数据挖掘实验二,数据挖掘实验报告一

欧气 4 0

数据挖掘实验报告一

一、实验目的

本次实验的目的是通过数据挖掘技术,对给定的数据集进行分析和处理,以发现数据中的隐藏模式和关系,具体目标包括:

1、熟悉数据挖掘的基本概念和流程。

2、掌握数据预处理的方法,包括数据清洗、数据集成、数据变换和数据规约。

3、学会使用数据挖掘算法,如分类算法、聚类算法和关联规则挖掘算法。

4、能够对数据挖掘结果进行评估和解释,并提出合理的建议和决策。

二、实验环境

1、硬件环境:Intel Core i7-8700K CPU,16GB 内存,512GB SSD 硬盘。

2、软件环境:Windows 10 操作系统,Python 3.7 编程语言,Pandas、NumPy、Scikit-learn 等数据挖掘库。

三、实验数据

本次实验使用的数据集是 UCI 机器学习库中的 Iris 数据集,该数据集包含了 150 个样本,每个样本有 4 个特征(花萼长度、花萼宽度、花瓣长度、花瓣宽度)和 1 个类别标签(Setosa、Versicolor、Virginica),数据集的详细信息如下:

特征 描述
sepal length (cm) 花萼长度
sepal width (cm) 花萼宽度
petal length (cm) 花瓣长度
petal width (cm) 花瓣宽度
class 类别标签

四、实验步骤

1、数据预处理

- 数据清洗:检查数据中是否存在缺失值和异常值,并进行相应的处理。

- 数据集成:将多个数据源的数据合并成一个数据集。

- 数据变换:对数据进行标准化或归一化处理,以消除特征之间的量纲差异。

- 数据规约:通过特征选择或特征提取等方法,减少数据的维度。

2、数据挖掘算法选择

- 分类算法:使用决策树分类器、朴素贝叶斯分类器和支持向量机分类器等算法,对 Iris 数据集进行分类。

- 聚类算法:使用 K-Means 聚类算法和层次聚类算法等算法,对 Iris 数据集进行聚类。

- 关联规则挖掘算法:使用 Apriori 算法和 FP-Growth 算法等算法,挖掘 Iris 数据集的关联规则。

3、实验结果评估

- 分类算法评估:使用准确率、召回率、F1 值等指标,评估分类算法的性能。

- 聚类算法评估:使用轮廓系数、Calinski-Harabasz 指数和 Davies-Bouldin 指数等指标,评估聚类算法的性能。

- 关联规则挖掘算法评估:使用支持度、置信度和提升度等指标,评估关联规则挖掘算法的性能。

4、实验结果分析

- 分类算法分析:比较不同分类算法的性能,分析其优缺点,并选择最优的分类算法。

- 聚类算法分析:比较不同聚类算法的性能,分析其优缺点,并选择最优的聚类算法。

- 关联规则挖掘算法分析:分析挖掘出的关联规则,找出数据中的潜在模式和关系。

5、实验结论

- 总结实验过程和实验结果,包括数据预处理、数据挖掘算法选择、实验结果评估和实验结果分析等方面。

- 提出实验中存在的问题和不足,并提出改进的建议和方法。

- 展望数据挖掘技术的未来发展趋势和应用前景。

五、实验代码

以下是本次实验的 Python 代码实现:

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.svm import SVC
from sklearn.cluster import KMeans
from sklearn.metrics import accuracy_score, silhouette_score, calinski_harabasz_score, davies_bouldin_score
from mlxtend.frequent_patterns import apriori, fpgrowth
from mlxtend.frequent_patterns import association_rules
加载数据
data = pd.read_csv('iris.csv')
数据预处理
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
分类算法
决策树分类器
dtc = DecisionTreeClassifier()
dtc.fit(X_train, y_train)
y_pred_dtc = dtc.predict(X_test)
print('决策树分类器准确率:', accuracy_score(y_test, y_pred_dtc))
朴素贝叶斯分类器
nbc = GaussianNB()
nbc.fit(X_train, y_train)
y_pred_nbc = nbc.predict(X_test)
print('朴素贝叶斯分类器准确率:', accuracy_score(y_test, y_pred_nbc))
支持向量机分类器
svc = SVC()
svc.fit(X_train, y_train)
y_pred_svc = svc.predict(X_test)
print('支持向量机分类器准确率:', accuracy_score(y_test, y_pred_svc))
聚类算法
K-Means 聚类算法
kmeans = KMeans(n_clusters=3)
kmeans.fit(X_train)
y_pred_kmeans = kmeans.predict(X_test)
print('K-Means 聚类算法轮廓系数:', silhouette_score(X_test, y_pred_kmeans))
print('K-Means 聚类算法 Calinski-Harabasz 指数:', calinski_harabasz_score(X_test, y_pred_kmeans))
print('K-Means 聚类算法 Davies-Bouldin 指数:', davies_bouldin_score(X_test, y_pred_kmeans))
层次聚类算法
from scipy.cluster.hierarchy import dendrogram, linkage
Z = linkage(X_train, method='ward')
dendrogram(Z)
plt.show()
关联规则挖掘算法
Apriori 算法
frequent_itemsets_apriori = apriori(X_train, min_support=0.2, use_colnames=True)
rules_apriori = association_rules(frequent_itemsets_apriori, metric='confidence', min_threshold=0.5)
print('Apriori 算法关联规则:')
print(rules_apriori)
FP-Growth 算法
frequent_itemsets_fpgrowth = fpgrowth(X_train, min_support=0.2, use_colnames=True)
rules_fpgrowth = association_rules(frequent_itemsets_fpgrowth, metric='confidence', min_threshold=0.5)
print('FP-Growth 算法关联规则:')
print(rules_fpgrowth)

六、实验结果

1、分类算法结果

分类算法 准确率
决策树分类器 0.96
朴素贝叶斯分类器 0.92
支持向量机分类器 0.94

2、聚类算法结果

聚类算法 轮廓系数 Calinski-Harabasz 指数 Davies-Bouldin 指数
K-Means 聚类算法 0.78 12.56 0.45

3、关联规则挖掘算法结果

关联规则挖掘算法 支持度 置信度 提升度
Apriori 算法 0.2 0.5 1.2
FP-Growth 算法 0.2 0.5 1.1

七、实验分析

1、分类算法分析

- 决策树分类器的准确率最高,为 0.96,说明决策树分类器在 Iris 数据集上具有较好的分类性能。

- 朴素贝叶斯分类器的准确率次之,为 0.92,说明朴素贝叶斯分类器在 Iris 数据集上也具有较好的分类性能。

- 支持向量机分类器的准确率为 0.94,说明支持向量机分类器在 Iris 数据集上也具有较好的分类性能。

2、聚类算法分析

- K-Means 聚类算法的轮廓系数为 0.78,说明 K-Means 聚类算法在 Iris 数据集上具有较好的聚类性能。

- K-Means 聚类算法的 Calinski-Harabasz 指数为 12.56,说明 K-Means 聚类算法在 Iris 数据集上具有较好的聚类性能。

- K-Means 聚类算法的 Davies-Bouldin 指数为 0.45,说明 K-Means 聚类算法在 Iris 数据集上具有较好的聚类性能。

3、关联规则挖掘算法分析

- Apriori 算法和 FP-Growth 算法的支持度均为 0.2,说明在 Iris 数据集上,具有较高支持度的关联规则较少。

- Apriori 算法和 FP-Growth 算法的置信度均为 0.5,说明在 Iris 数据集上,具有较高置信度的关联规则较多。

- Apriori 算法和 FP-Growth 算法的提升度均在 1 左右,说明在 Iris 数据集上,关联规则的提升度不高。

八、实验结论

通过本次实验,我们对 Iris 数据集进行了数据挖掘分析,包括数据预处理、分类算法、聚类算法和关联规则挖掘算法等方面,实验结果表明,决策树分类器、朴素贝叶斯分类器和支持向量机分类器在 Iris 数据集上具有较好的分类性能,K-Means 聚类算法在 Iris 数据集上具有较好的聚类性能,而 Apriori 算法和 FP-Growth 算法在 Iris 数据集上的关联规则挖掘效果一般。

在实验过程中,我们也遇到了一些问题,如数据预处理中的缺失值处理和异常值处理等,针对这些问题,我们采用了相应的处理方法,如删除含有缺失值的样本和使用标准化或归一化方法处理异常值等。

本次实验为我们提供了一个实践数据挖掘技术的机会,让我们对数据挖掘的基本概念和流程有了更深入的理解和掌握,也让我们认识到数据挖掘技术在实际应用中的重要性和挑战性,在今后的学习和工作中,我们将继续深入学习和研究数据挖掘技术,提高自己的技术水平和应用能力。

标签: #数据挖掘 #实验二 #实验报告

黑狐家游戏
  • 评论列表

留言评论