数据仓库实验二:关联规则挖掘实验

目录


一、实验目的

通过本实验,对利用 Apriori 和 FP-growth 算法发现频繁项集、构建关联规则的方法有准确的理解。并掌握利用 Sql Server 等工具平台进行关联规则挖掘的方法,掌握挖掘结构、挖掘模型的基本概念,能够使用数据挖掘向导创建数据挖掘结构和模型,掌握数据挖掘设计器的使用方法,掌握模型查看器方法 ,理解关联规则挖掘常用的参数含义和设置方法。

二、实验内容和要求

针对实际需求,构建格式规范的数据集,并能够借助于 SQL Server、Weka、SPSS 等工具平台,利用 Apriori/FP-growth 算法,进行关联规则挖掘,正确分析实验结果,发现知识,完成实验报告。

三、实验步骤

以下以 Sql Server 作为工具,完成数据集的构建和关联规则的挖掘。

1、创建数据库和表

在 SSMS 中建立 Sales 数据库 (模拟超市/商场的销售数据),分别设计 Maintable (客户订单表)、Subtable (订单明细表)。表的结构和内容如下所示。

Maintable (客户订单表):


Subtable (订单明细表):


2、挖掘关联规则

在 Sql Server Data Tools 中采用如下步骤挖掘关联规则。

(1)新建一个 Analysis Services 项目 Sales

定义数据源 Sales.ds,对应的数据库为前面建立的 Sales 数据库。

(2)建立数据源视图

定义数据源视图 Sales.dsv,它包含 Maintable 和 Subtable 两个表,并建立两个人表之间的关系,如下所示。

定义数据源视图 Sales.dsv:

建立两个表之间的关系:

数据源视图如下:

(3)建立挖掘结构 Sales.dmm

新建挖掘结构,在 "创建数据挖掘结构" 页面的 "您要使用何种数据挖掘技术?" 选项下,选中列表中的 "Microsoft关联规则"。

为该数据源视图指定 Maintable 和 Subtable 两个表。

在 "指定表类型" 页面上,在 Maintable 表的对应行中选中 "事例" 复选框,在 Subtable 表的对应行中选中 "嵌套" 复选框。

在 "指定定型数据" 页面中,选中 MainTable 表订单编号字段所在行的 "键" 复选框。在 Subtable 表的产品名称字段勾选 "键"、"输入" 和 "可预测" 复选框。

在 "创建测试集" 页面上,"测试数据百分比" 选项的默认值为30%,将该选项更改为0.

在完成向导页面的 "挖掘结构名称" 和 "挖掘模型名称" 中,都输入 Sales,并且勾选 "允许钻取" 复选框。

结果如下图:


打开数据挖掘设计器的 "挖掘模型" 选项卡,右击 "Sales",在出现的下拉菜单中选择 "设置算法参数" 命令,设置 "MINIMUM_PROBABLITY" 参数为0.5,设置 MINIMUM_SUPPORT 参数为0.2。


(4)部署关联规则挖掘项目并浏览结果

先处理(部署)、再浏览。

打开数据挖掘设计器的 "挖掘模型查看器" 选项卡,分别选择 "规则"、"项集" 和 "依赖关系网络" 选项并浏览。结果如下图所示。



四、实验总结体会

通过挖掘数据仓库中的关联规则,我们可以发现数据之间的潜在关联性,从而为业务决策提供重要的参考依据。

在进行实验时,首先需要准备好数据集,确保数据的完整性和准确性。然后,选择合适的挖掘算法和工具进行实验。常用的算法包括Apriori算法和FP-Growth算法,可以使用工具如Weka、RapidMiner或Python中的相应库进行实现。Apriori算法和FP-Growth都是用来发现频繁项集的算法,但Apriori算法在寻找频繁项集时需要不停的扫描数据集,而FP-Growth算法只需要扫描数据集两次,因此FP-Growth算法执行速度更快,频繁项集是进行关联分析的基础,因此能够快速高效的查找频繁项集十分重要。

在实验过程中,需要注意调整算法的参数,以获得更好的挖掘结果。同时,对挖掘结果进行评估和解释,确保发现的关联规则具有实际意义,并能够为业务决策提供帮助。

最后,及时总结实验过程中的经验和教训,不断优化挖掘过程,提高挖掘效率和准确性。通过不断地实践和探索,可以更好地理解数据仓库中的数据,挖掘出更多有价值的信息,为企业的发展提供有力支持。

相关推荐
武子康3 小时前
Java-06 深入浅出 MyBatis - 一对一模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据仓库·sql·mybatis·springboot·springcloud
wxl7812276 小时前
如何使用本地大模型做数据分析
python·数据挖掘·数据分析·代码解释器
JessieZeng aaa6 小时前
CSV文件数据导入hive
数据仓库·hive·hadoop
浊酒南街7 小时前
Statsmodels之OLS回归
人工智能·数据挖掘·回归
麦田里的稻草人w11 小时前
【数据分析实战】(一)—— JOJO战力图
数据挖掘·数据分析
思通数科多模态大模型11 小时前
10大核心应用场景,解锁AI检测系统的智能安全之道
人工智能·深度学习·安全·目标检测·计算机视觉·自然语言处理·数据挖掘
封步宇AIGC12 小时前
量化交易系统开发-实时行情自动化交易-4.2.3.指数移动平均线实现
人工智能·python·机器学习·数据挖掘
Yz987613 小时前
hive复杂数据类型Array & Map & Struct & 炸裂函数explode
大数据·数据库·数据仓库·hive·hadoop·数据库开发·big data
EDG Zmjjkk15 小时前
Hive 函数(实例操作版2)
数据仓库·hive·hadoop
B站计算机毕业设计超人15 小时前
计算机毕业设计SparkStreaming+Kafka新能源汽车推荐系统 汽车数据分析可视化大屏 新能源汽车推荐系统 汽车爬虫 汽车大数据 机器学习
数据仓库·爬虫·python·数据分析·kafka·数据可视化·推荐算法