没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本实验报告详细记录了数据仓库与数据挖掘课程的六个实验项目,包括关联规则、决策树、聚类分析、贝叶斯网络、神经网络和遗传算法的应用。每个实验项目都包含具体的实验要求和详细的实验过程记录,帮助学生理解并掌握各类数据挖掘技术的应用场景和实现方法。报告内容详实,适合数据科学、计算机科学及相关专业的本科生、研究生,或者希望深入学习数据仓库与数据挖掘技术的工程师和研究人员。在完成课程作业或实验项目时,学生可以参考本报告中的实验要求和过程,理解各类算法的实际应用及其实现步骤。目标是通过实践增强学生对数据仓库与数据挖掘技术的理解和掌握。建议在阅读报告前先具备一定的编程基础和数据分析能力,以便更好地理解和应用相关算法。
资源推荐
资源详情
资源评论
目 录
实验项目一:关联规则应用 ....................................1
要求: ................................................1
实验过程: ............................................1
实验项目二:决策树的应用 ....................................5
要求: ................................................7
实验过程: ............................................7
实验项目三:聚类分析 ......................................12
要求: ...............................................14
实验过程: ...........................................14
实验项目四:贝叶斯网络应用 .................................18
要求: ...............................................21
实验过程: ...........................................21
实验项目五:神经网络的应用 .................................36
要求: ...............................................36
实验过程: ...........................................36
实验项目六:遗传算法 ......................................41
要求: ...............................................41
实验过程: ...........................................41
1
实验内容及过程分析
实验项目一:关联规则应用
时间: 11 月 3 日 14:30-18:00 地点:C075-06-31
要求:
1)参考示例代码进行程序设计,对数据文件进行关联规则挖掘并存储结果到 Excel
文件中。
2)教材 P91 页上的示例进行数据挖掘,将结果和教材结果进行比较。
实验过程要点:在 Python 开发环境中 中,读取数据文件的数据,利用
efficient-apriori 程序包 提供的算法函数进行关联规则的挖掘;学会如何在大
量数据中发现关联规则,并且会解释模型。
实验设备、工具及材料:能访问互联网的计算机、anaconda3 软件包
编写报告及实物制作:实验报告
预习资料:理解关联规则、项集、频繁集、置信度、支持度的概念,及一些相关算法;
理解关联规则算法的基本
原理;正确安装了 anaconda3 环境。
实验地点:综合楼实验室
实验过程:
1.安装 efficient-apriori 程序包
打开 Anaconda 命令行环境,执行 pip install efficient-apriori 安装这
个工具包,如下图所示:
2.创建程序代码
1)进入 Python 集成开发环境(pycharm 或其它),创建新的代码页。
2)引入 efficient_apriori 包
from efficient_apriori import apriori
3)从 “data”目录下读取 menu_orders.xls 数据文件,写入 List 数组中。注意
2
数组如下形式:
data = [('牛奶','面包','尿布'),
('可乐','面包', '尿布', '啤酒'),
('牛奶','尿布', '啤酒', '鸡蛋')]
transactions = []
for i in range(data.shape[0]):
temp_set = set(data.iloc[i].dropna())
if len(temp_set) > 0:
transactions.append(tuple(temp_set))
4)利用函数 apriori(数据集, 最小支持度,最小可信度)进行频繁项集和关联规
则挖掘,代码示例:
itemsets, rules = apriori(transactions, min_support=0.7,
min_confidence=0.8)
support = 0.5
confidence = 0.9
itemsets, rules = apriori(transactions, min_support=support,
min_confidence=confidence)
5)屏幕显示频繁项集和关联规则信息, 修改最小支持度和最小可信度,观察结果变
化。 并将关联规则保存到 excel 文件中。
print(itemsets) #显示频繁项集
print(rules) #显示关联规则
# 保存关联规则到 excel
pd.DataFrame(rules).to_excel(outputfile) # 保存结果
6)按以上步骤,对教材 P91 页上的示例进行关联规则挖掘,比较结果。
注意:可以参考“code”目录下的 cal_apriori.py 源文件进行编程,运行查看效
果。
代码:
# -*- coding: utf-8 -*-
from __future__ import print_function
import pandas as pd
#引入 apriori 包
from efficient_apriori import apriori
outputfile = '../out/apriori_rules.xlsx'
filename = '../data/menu_orders.xls'
3
data = pd.read_excel(filename) # 导入数据
# 数据转换为 list of list 格式,并去掉空值
transactions = []
for i in range(data.shape[0]):
temp_set = set(data.iloc[i].dropna())
if len(temp_set) > 0:
transactions.append(tuple(temp_set))
# 挖掘频繁项集和频繁规则
support = 0.5 # 最小支持度
confidence = 0.9 # 最小置信度
itemsets, rules = apriori(transactions, min_support=support,
min_confidence=confidence)
print(itemsets) #显示频繁项集
print(rules) #显示关联规则
# 保存关联规则到 excel
pd.DataFrame(rules).to_excel(outputfile) # 保存结果
0
0 {啤酒} -> {尿布} (conf: 1.000, supp: 0.600, lift: 1.000, conv: 0.000)
1 {牛奶} -> {尿布} (conf: 1.000, supp: 0.800, lift: 1.000, conv: 0.000)
2 {面包} -> {尿布} (conf: 1.000, supp: 0.800, lift: 1.000, conv: 0.000)
3 {牛奶, 面包} -> {尿布} (conf: 1.000, supp: 0.600, lift: 1.000, conv: 0.000)
教材 P91 页上的示例解决代码:
# -*- coding: utf-8 -*-
from __future__ import print_function
import pandas as pd
#引入 apriori 包
from efficient_apriori import apriori
outputfile = '../out/apriori_rules2.xlsx'
4
filename = '../data//menu_orders2.xlsx'
data = pd.read_excel(filename) # 导入数据
print(data)
# 补充数据转换代码,需去空值
# 转换为所需的列表形式
data_list = [tuple(row.dropna().tolist()) for _, row in data.iterrows()]
print(data_list)
# 挖掘频繁项集和频繁规则
support = 0.5 # 最小支持度
confidence = 0.6 # 最小置信度
# 补充关联规则挖掘代码
itemsets, rules = apriori(data_list, min_support=support,
min_confidence=confidence)
print(itemsets) #显示频繁项集
print(rules) #显示关联规则
思考题:
处理了关联模型之后,可以使关联规则查看浏览模型的内容,如何解释模型?
答:关联规则分析的结果主要包含以下几个重要的指标:置信度(confidence)、支
持度(support)、提升度(lift)和确信度(conviction)。我们可以基于这些指标
来解释规则的意义和重要性。
1.支持度 (Support):
描述的是某个商品组合出现的次数与总次数之间的比例。
例如,规则 {牛奶} -> {尿布} 的支持度为 0.8,意味着在所有的交易中,有 80%
都包含了牛奶和尿布。
2.置信度 (Confidence):
表示的是当购买了商品 A,会有多大概率购买商品 B。
例如,规则 {牛奶} -> {尿布} 的置信度为 1.000,意味着购买了牛奶的顾客中,
100%都购买了尿布。
3.提升度 (Lift):
剩余44页未读,继续阅读
资源评论
m0_67611970
- 粉丝: 8
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功